<SEC-DOCUMENT>0001096906-25-000308.txt : 20250326
<SEC-HEADER>0001096906-25-000308.hdr.sgml : 20250326
<ACCEPTANCE-DATETIME>20250326171321
ACCESSION NUMBER:		0001096906-25-000308
CONFORMED SUBMISSION TYPE:	10-K
PUBLIC DOCUMENT COUNT:		121
CONFORMED PERIOD OF REPORT:	20241231
FILED AS OF DATE:		20250326
DATE AS OF CHANGE:		20250326

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			UTAH MEDICAL PRODUCTS INC
		CENTRAL INDEX KEY:			0000706698
		STANDARD INDUSTRIAL CLASSIFICATION:	SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841]
		ORGANIZATION NAME:           	08 Industrial Applications and Services
		EIN:				870342734
		STATE OF INCORPORATION:			UT
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-12575
		FILM NUMBER:		25774277

	BUSINESS ADDRESS:	
		STREET 1:		7043 S 300 WEST
		CITY:			MIDVALE
		STATE:			UT
		ZIP:			84047
		BUSINESS PHONE:		8015661200
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-K
<SEQUENCE>1
<FILENAME>utmd-20241231.htm
<DESCRIPTION>UTAH MEDICAL PRODUCTS INC - FORM 10-K SEC FILING
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fil="http://www.utahmed.com/20241231" xmlns:ecd="http://xbrl.sec.gov/ecd/2024" xmlns:srt="http://fasb.org/srt/2024" xmlns:us-gaap="http://fasb.org/us-gaap/2024" xmlns:country="http://xbrl.sec.gov/country/2024" xmlns:dei="http://xbrl.sec.gov/dei/2024" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:i="http://www.xbrl.org/2003/instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<title>UTAH MEDICAL PRODUCTS INC - Form 10-K SEC filing</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
</head>
<body>
<div style="display:none">
<ix:header>
<ix:hidden>
<ix:nonNumeric name="dei:EntityCentralIndexKey" contextRef="Y24" id="fact1">0000706698</ix:nonNumeric>
<ix:nonNumeric name="dei:CurrentFiscalYearEndDate" contextRef="Y24" id="fact2">--12-31</ix:nonNumeric>
<ix:nonNumeric name="dei:EntityCurrentReportingStatus" contextRef="Y24" id="fact3">Yes</ix:nonNumeric>
<ix:nonNumeric name="dei:AmendmentFlag" contextRef="Y24" id="fact4">false</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalYearFocus" contextRef="Y24" id="fact5">2024</ix:nonNumeric>
<ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" contextRef="Y24" id="fact6">FY</ix:nonNumeric>
</ix:hidden>
<ix:references>
<link:schemaRef xlink:arcrole="http://www.xbrl.org/2003/linkbase" xlink:href="utmd-20241231.xsd" xlink:type="simple"/>
</ix:references>
<ix:resources>
<i:unit id="USD">
<i:measure>iso4217:USD</i:measure>
</i:unit>
<i:unit id="Shares">
<i:measure>xbrli:shares</i:measure>
</i:unit>
<i:unit id="UsdPerShare">
<i:divide>
<i:unitNumerator>
<i:measure>iso4217:USD</i:measure>
</i:unitNumerator>
<i:unitDenominator>
<i:measure>xbrli:shares</i:measure>
</i:unitDenominator>
</i:divide>
</i:unit>
<i:unit id="Pure">
<i:measure>xbrli:pure</i:measure>
</i:unit>
<i:context id="Y24">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2024-06-30</i:instant>
</i:period>
</i:context>
<i:context id="I250325">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2025-03-25</i:instant>
</i:period>
</i:context>
<i:context id="D241231">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-12-31</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="D231231">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-12-31</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y23">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24Q4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-10-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-10-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E22">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E21">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E21_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E21_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E21_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E21_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2021-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y22_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E22_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E22_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E22_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E22_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y23_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StEqComps-CommonStock">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StEqComps-AddPaidInCap">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StEqComps-ComprIncome">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StEqComps-RetainedEarnings">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Maximum_PpeByType-BuildingAndBuildingImprovements">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Minimum_PpeByType-Equipment">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Maximum_PpeByType-Equipment">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2019-01-01</i:startDate>
<i:endDate>2019-03-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24Q1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-03-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-04-01</i:startDate>
<i:endDate>2024-06-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y24Q3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2024-07-01</i:startDate>
<i:endDate>2024-09-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-03-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-04-01</i:startDate>
<i:endDate>2023-06-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y23Q3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2023-07-01</i:startDate>
<i:endDate>2023-09-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y22Q1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-03-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22Q2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-04-01</i:startDate>
<i:endDate>2022-06-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y22Q3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-07-01</i:startDate>
<i:endDate>2022-09-30</i:endDate>
</i:period>
</i:context>
<i:context id="Y22Q4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
</i:entity>
<i:period>
<i:startDate>2022-10-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24_StGeo-USAndCanada">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:USAndCanadaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StGeo-EnglandAndAustralia">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E24_StGeo-IE">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StGeo-USAndCanada">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:USAndCanadaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StGeo-EnglandAndAustralia">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_StGeo-IE">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E23_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E23_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2023-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y22_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E22_Range-Minimum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="E22_Range-Maximum">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2022-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_StScenario-Range1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24_StScenario-Range1">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_StScenario-Range2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24_StScenario-Range2">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_StScenario-Range3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24_StScenario-Range3">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_StScenario-Range4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range4Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="E24_StScenario-Range4">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range4Member</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:instant>2024-12-31</i:instant>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-Obstetrics_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-Obstetrics_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-Obstetrics_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-Neonatal_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-Neonatal_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-Neonatal_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StGeo-Global">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-Obstetrics_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-Obstetrics_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-Obstetrics_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-Neonatal_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-Neonatal_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-Neonatal_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StGeo-Ous">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_DistributionRightsAcquisition-CoopersurgicalInc">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y24_StScenario-SingleOperatingSeg">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:SingleOperatingSegmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2024-01-01</i:startDate>
<i:endDate>2024-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y23_StScenario-SingleOperatingSeg">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:SingleOperatingSegmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2023-01-01</i:startDate>
<i:endDate>2023-12-31</i:endDate>
</i:period>
</i:context>
<i:context id="Y22_StScenario-SingleOperatingSeg">
<i:entity>
<i:identifier scheme="http://www.sec.gov/CIK">0000706698</i:identifier>
<i:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:SingleOperatingSegmentMember</xbrldi:explicitMember></i:segment>
</i:entity>
<i:period>
<i:startDate>2022-01-01</i:startDate>
<i:endDate>2022-12-31</i:endDate>
</i:period>
</i:context>
</ix:resources>
</ix:header>
</div>
<div style="margin-left:72pt;width:482.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-2pt;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-right:-2pt;text-align:center"><b>UNITED STATES </b></p>
<p style="font:10pt Times New Roman;margin:0;margin-right:-2pt;text-align:center"><b>SECURITIES AND EXCHANGE COMMISSION</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>Washington, D.C. &#160;20549</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>FORM </b><ix:nonNumeric name="dei:DocumentType" contextRef="Y24" escape="true" id="ixv-11468">10-K</ix:nonNumeric></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:DocumentAnnualReport" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11469">&#9746;</ix:nonNumeric> &#160;&#160;&#160;&#160;<b>ANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">For the fiscal year ended <ix:nonNumeric name="dei:DocumentPeriodEndDate" contextRef="Y24" format="ixt:date-monthname-day-year-en" id="ixv-11470">December 31, 2024</ix:nonNumeric><span style="-sec-ix-hidden:fact2"></span></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">OR</p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:DocumentTransitionReport" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11471">&#9744;</ix:nonNumeric> &#160;&#160;&#160;&#160;<b>TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</b></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">For the transition period from &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;to</p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Commission File No. <span style="border-bottom:1px solid #000000"><b><ix:nonNumeric name="dei:EntityFileNumber" contextRef="Y24" escape="true" id="ixv-11472">001-12575</ix:nonNumeric></b></span></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b><ix:nonNumeric name="dei:EntityRegistrantName" contextRef="Y24" escape="true" id="ixv-11473">UTAH MEDICAL PRODUCTS INC</ix:nonNumeric></b></span></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">(Exact name of Registrant as specified in its charter)</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" contextRef="Y24" format="ixt-sec:stateprovnameen" id="ixv-11474">Utah</ix:nonNumeric></b></span></p>
</td><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" contextRef="Y24" escape="true" id="ixv-11475">87-0342734</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(State or other jurisdiction of incorporation or organization)</p>
</td><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(I.R.S. Employer&#160;Identification No.)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:EntityAddressAddressLine1" contextRef="Y24" escape="true" id="ixv-11476">7043 South 300 West</ix:nonNumeric></b></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b><ix:nonNumeric name="dei:EntityAddressCityOrTown" contextRef="Y24" escape="true" id="ixv-11477">Midvale</ix:nonNumeric></b>, <b><ix:nonNumeric name="dei:EntityAddressStateOrProvince" contextRef="Y24" format="ixt-sec:stateprovnameen" id="ixv-11478">Utah</ix:nonNumeric></b> &#160;<b><ix:nonNumeric name="dei:EntityAddressPostalZipCode" contextRef="Y24" escape="true" id="ixv-11479">84047</ix:nonNumeric></b></span></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Address of principal executive offices) (Zip Code)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">(<b><ix:nonNumeric name="dei:CityAreaCode" contextRef="Y24" escape="true" id="ixv-11480">801</ix:nonNumeric></b>) </span><ix:nonNumeric name="dei:LocalPhoneNumber" contextRef="Y24" escape="true" id="ixv-11481">566-1200</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(Registrant&#8217;s telephone number, including area code)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td colspan="3" valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0">Securities registered pursuant to Section 12(b) of the Act:</p>
</td></tr>
<tr><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:33.32%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Title of each class:</p>
</td><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Trading Symbol:</p>
</td><td valign="top" style="width:33.32%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Name of each exchange on which registered:</p>
</td></tr>
<tr><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:Security12bTitle" contextRef="Y24" escape="true" id="ixv-11482">Common stock, $0.01 par value</ix:nonNumeric></b></p>
</td><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:TradingSymbol" contextRef="Y24" escape="true" id="ixv-11483">UTMD</ix:nonNumeric></b></p>
</td><td valign="top" style="width:33.32%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><b><ix:nonNumeric name="dei:SecurityExchangeName" contextRef="Y24" id="ixv-11484">NASDAQ</ix:nonNumeric></b></p>
</td></tr>
<tr><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:center">&#160;</p>
</td><td valign="top" style="width:33.34%"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:center">&#160;</p>
</td><td valign="top" style="width:33.32%"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:center">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:100%"><p style="font:10pt Times New Roman;margin:0;color:#339966"><span style="color:#000000">Securities registered pursuant to Section 12(g) of the Act: <b>None</b></span></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. &#160;&#160;Yes&#160;&#9744; &#160;&#160;<ix:nonNumeric name="dei:EntityWellKnownSeasonedIssuer" contextRef="Y24" id="ixv-11485">No</ix:nonNumeric>&#160;&#9746;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or 15(d) of the Act. &#160;&#160;Yes&#160;&#9744; &#160;&#160;<ix:nonNumeric name="dei:EntityVoluntaryFilers" contextRef="Y24" id="ixv-11486">No</ix:nonNumeric>&#160;&#9746;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark whether the registrant (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days. &#160;&#160;<span style="-sec-ix-hidden:fact3">Yes</span>&#160;&#9746; &#160;&#160;No&#160;&#9744;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). &#160;&#160;<ix:nonNumeric name="dei:EntityInteractiveDataCurrent" contextRef="Y24" id="ixv-11487">Yes</ix:nonNumeric>&#160;&#9746; &#160;&#160;No&#160;&#9744;&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify"><kbd style="margin-left:18pt"></kbd>Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company,&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0">Large accelerated filer&#160;&#9744;</p>
</td><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0">Accelerated filer&#160;&#9744;</p>
</td></tr>
<tr><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:EntityFilerCategory" contextRef="Y24" format="ixt-sec:entityfilercategoryen" id="ixv-11488">Non-accelerated filer</ix:nonNumeric> &#9746;</p>
</td><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0">Smaller reporting company <ix:nonNumeric name="dei:EntitySmallBusiness" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11489">&#9746;</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:50%"><p style="font:10pt Times New Roman;margin:0">Emerging growth company <ix:nonNumeric name="dei:EntityEmergingGrowthCompany" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11490">&#9744;</ix:nonNumeric></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. &#160;&#9744; &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark whether the registrant has filed a report on and attestation to its management&#8217;s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report. Yes &#160;<ix:nonNumeric name="dei:IcfrAuditorAttestationFlag" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11491">&#9744;</ix:nonNumeric> &#160;&#160;&#160;No &#9746;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;<ix:nonNumeric name="dei:DocumentFinStmtErrorCorrectionFlag" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11492">&#9744;</ix:nonNumeric>&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant&#8217;s executive officers during the relevant period pursuant to &#167;240.10D-1(b).&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#9744;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). &#160;Yes&#160;<ix:nonNumeric name="dei:EntityShellCompany" contextRef="Y24" format="ixt-sec:boolballotbox" id="ixv-11493">&#9744;</ix:nonNumeric> &#160;&#160;No&#160;&#9746;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>State the aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant&#8217;s most recently completed second fiscal quarter. &#160;As of June 30, 2024, the aggregate market value of the voting and nonvoting common equity held by non-affiliates of the registrant was <b>$<ix:nonFraction name="dei:EntityPublicFloat" contextRef="E24Q2" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11494">216,013,098</ix:nonFraction></b>.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:18pt"></kbd>Indicate the number of shares outstanding of each of the registrant&#8217;s classes of common stock, as of the latest practicable date. &#160;<b>As of March 25, 2025, common shares outstanding are <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" contextRef="I250325" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-11495">3,281,816</ix:nonFraction>.</b>&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">INDEX TO FORM 10-K</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:7.82%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">PAGE</p>
</td></tr>
<tr><td colspan="3" valign="top" style="background-color:#CCEEFF;width:92.18%"><p style="font:10pt Times New Roman;margin:0">PART I</p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 1</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a1" style="text-decoration:none">Business</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">1</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 1A</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a2" style="text-decoration:none">Risk Factors</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 1B</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a3" style="text-decoration:none">Unresolved Staff Comments</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">16</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 1C</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a4" style="text-decoration:none">Cybersecurity</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">16</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 2</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a5" style="text-decoration:none">Properties</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">17</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 3</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a6" style="text-decoration:none">Legal Proceedings</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">17</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 4</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a7" style="text-decoration:none">Mine Safety Disclosures</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">17</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:92.18%"><p style="font:10pt Times New Roman;margin:0">PART II</p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 5</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a8" style="text-decoration:none">Market for Registrant&#8217;s Common Equity, Related Stockholder Matters</a></span><br/><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a8" style="text-decoration:none">and Issuer Purchases of Equity Securities</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">18</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 6</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a9" style="text-decoration:none">Reserved</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">18</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 7</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a10" style="text-decoration:none">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">19</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 7A</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a11" style="text-decoration:none">Quantitative and Qualitative Disclosures About Market Risk</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">32</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 8</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a12" style="text-decoration:none">Financial Statements and Supplementary Data</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">33</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 9</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a13" style="text-decoration:none">Changes in and Disagreements With Accountants on Accounting and Financial Disclosure</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">56</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 9A</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a14" style="text-decoration:none">Controls and Procedures</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">56</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 9B</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a15" style="text-decoration:none">Other Information</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">56</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 9C</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a16" style="text-decoration:none">Disclosure Regarding Foreign Jurisdictions that Prevent Inspections</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">56</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="background-color:#CCEEFF;width:92.18%"><p style="font:10pt Times New Roman;margin:0">PART III</p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 10</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a17" style="text-decoration:none">Directors, Executive Officers and Corporate Governance</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">57</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 11</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a18" style="text-decoration:none">Executive Compensation</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">57</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 12</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a19" style="text-decoration:none">Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">57</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 13</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a20" style="text-decoration:none">Certain Relationships and Related Transactions, and Director Independence</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">57</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 14</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a21" style="text-decoration:none">Principal Accounting Fees and Services</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">57</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:92.18%"><p style="font:10pt Times New Roman;margin:0">PART IV</p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 15</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a22" style="text-decoration:none">Exhibits, Financial Statement Schedules</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">58</p>
</td></tr>
<tr><td valign="top" style="width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:10.76%"><p style="font:10pt Times New Roman;margin:0">Item 16</p>
</td><td valign="top" style="width:77.58%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a23" style="text-decoration:none">Form 10-K Summary</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">59</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:3.84%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:10.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:77.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#CCEEFF;width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td colspan="3" valign="top" style="width:92.18%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a24" style="text-decoration:none">SIGNATURES</a></span></p>
</td><td valign="top" style="width:7.82%"><p style="font:10pt Times New Roman;margin:0;text-align:right">60</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART I</b></span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a1"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 1 &#8211;&#160;BUSINESS</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Currency amounts throughout this report are in thousands except per-share amounts and where noted.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Utah Medical Products, Inc. (&#8220;UTMD&#8221; or &#8220;the Company&#8221;) is in the business of producing high quality cost- effective medical devices that are predominantly differentiated by safety and improved patient outcomes. Throughout this report, &#8220;UTMD&#8221; or &#8220;the Company&#8221; refers jointly to Utah Medical Products, Inc. and all of its corporate subsidiaries.  Success depends on 1) recognizing and responding to needs of clinicians and patients, 2) rapidly designing or acquiring economical solutions that gain premarketing regulatory concurrence, 3) reliably producing devices that meet those clinical needs, and then 4) selling through&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:31.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-24.3pt">a)</kbd>UTMD's own direct channels into markets where the Company enjoys an established reputation and has a critical mass of sales and support resources, or&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:31.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-24.3pt">b)</kbd>relationship with other companies that have the resources to effectively distribute and support the Company's products.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD's success in providing reliable solutions comes from its proven ability to integrate a number of engineering and technical disciplines in electronics, software, mechanical assembly and packaging, instrumentation, plastics processing and materials. &#160;The resulting differentiated devices represent significant incremental improvements in patient safety, clinical outcomes and/or total cost over preexisting clinical tools. UTMD's experience is that, in the case of labor-saving devices, the improvement in cost-effectiveness of clinical procedures also leads to an improvement in overall healthcare including lower risk of complications. UTMD markets a broad range of medical devices used in critical care areas, especially the neonatal intensive care unit (NICU), the labor and delivery (L&amp;D) department and the women&#8217;s health center in hospitals, as well as medical devices sold to outpatient clinics and physician's offices.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The opportunity to apply solutions to recognized needs results from an excellent core of practicing clinicians who introduce ideas to the Company, and key employees who are both clinical applications savvy and development engineering adept.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Domestically, UTMD&#8217;s medical devices are sold directly to clinician end-user facilities or a designated stocking distributor for a medical facility.  In addition, UTMD manufactures components and finished devices on a subcontract basis for other companies in the medical device business as well as other businesses. Outside the U.S. (OUS), devices are sold directly to end-users in Canada, the United Kingdom (UK), France, Ireland, Australia (AUS) and New Zealand (NZ), and through other medical device companies and independent medical products distributors in other countries. UTMD has representation globally in the major developed countries as well as many underdeveloped countries through approximately 200 distributors, 104 of which purchased at least five thousand dollars in UTMD medical devices during 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD was formed as a Utah corporation in 1978. &#160;UTMD sold stock to the public one time in 1982 for $1,750 (before offering costs of $321). &#160;Since 1992, UTMD has returned $151 million in the form of share repurchases, and an additional $86 million in cash dividends, to its public stockholders. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:10.8pt"></kbd>Utah Medical Products Ltd., a wholly-owned subsidiary with manufacturing located in Ireland, was formed in 1995 to better serve UTMD&#8217;s OUS customers. In 1997, UTMD purchased Columbia Medical, Inc. (CMI), a company specializing in silicone injection molding, assembly and marketing vacuum-assisted obstetrical delivery systems. &#160;In 1998, UTMD acquired the neonatal product line of Gesco International, a subsidiary of Bard Access Systems and C.R. Bard, Inc. &#160;In 2004, UTMD acquired Abcorp, Inc., its supplier of fetal monitoring belts. &#160;In 2011, UTMD purchased all of the common shares of Femcare Holdings Ltd (Femcare) of the United Kingdom, and its subsidiaries including Femcare Australia Pty Ltd as a sales and distribution operation to directly serve AUS medical facilities. The addition of Femcare provided product and distribution channel diversification and expansion. &#160;Sales of the products, or derivatives of the products, from the four acquisitions noted above, comprised 56% of UTMD&#8217;s consolidated 2024 sales. &#160;In late 2016, UTMD formed Utah Medical Products Canada Ltd (dba Femcare Canada) as a sales and distribution operation to directly serve Canadian medical facilities. In 2017, UTMD&#8217;s UK subsidiary began to distribute its devices directly to medical facilities in France. In early 2019, UTMD acquired the remaining life of Femcare&#8217;s exclusive U.S. distribution agreement for the Filshie Clip System from CooperSurgical Inc. &#160;In late 2020, UTMD&#8217;s AUS subsidiary incorporated a NZ subsidiary in order to distribute devices directly to medical facilities in NZ. &#160;In 2021, due to BREXIT, Utah Medical Products Ltd in Ireland began distributing devices directly to medical facilities in France in lieu of the UK.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD's corporate headquarters are located at 7043 South 300 West, Midvale, Utah 84047 USA. &#160;The corporate office telephone number is 01 (801) 566-1200. &#160;Ireland operations are located at Athlone Business &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">1</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">and Technology Park, Athlone, County Westmeath, Ireland. &#160;The Ireland telephone number is 353 (90) 647-3932. &#160;United Kingdom operations are located at 32 Premier Way, Romsey, Hampshire SO51 9DQ, United Kingdom. &#160;The UK phone number is 44 (1794) 525 100. &#160;Australia operations are located at Unit 12, 5 Gladstone Road, Castle Hill, NSW 2154, Australia. &#160;The Australia phone number is 612 9045 4110.  Canada operations are located at 6355 Kennedy Road #15, Mississauga, ON L5T 2L5, Canada. The Canada phone number is 01 (905) 795-1102.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">PRODUCTS</span></p>
<p style="font:10pt Times New Roman;margin:0">More complete descriptions including part numbers and pictures of UTMD&#8217;s devices can be conveniently obtained at <span style="border-bottom:1px solid #000000">www.utahmed.com</span> and <span style="border-bottom:1px solid #000000">www.femcare.co.uk</span>.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>Labor and Delivery/ </b><b>Obstetrics</b></span>:</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Fetal Monitoring Accessories.</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Electronic Fetal Monitoring (EFM) is the standard of care in labor and delivery throughout the modern world.  While not all pregnancies are high risk,&#160;fetal&#160;emergencies can occur suddenly in seemingly normal labors.  The use of EFM allows conservation of nursing personnel and has virtually eliminated intrapartum fetal death.&#160; Accurate determination of contraction strength increases the safety of labor augmentation (e.g., oxytocin dose) and reduces the need for Cesarean section for desultory labor. Infusion of fluid through an intrauterine catheter may cushion the umbilical cord and improve oxygenation of the fetus.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>To assist the physician in controlling the effectiveness of administration of oxytocin and monitoring effects of amnioinfusion, contraction intensities, uterine resting tones and peak contraction pressures are closely monitored through the use of an invasive intrauterine pressure catheter system. &#160;In addition, to help identify the possible onset of fetal hypoxia, correlation of the changes in fetal heart rate (FHR) relative to the frequency and duration of contractions are often electronically monitored. &#160;UTMD&#8217;s intrauterine pressure (IUP) catheters provide for clinician choices from a traditional fluid-filled system to INTRAN&#174; PLUS, for over thirty years the most widely accepted transducer-tipped system. &#160;UTMD&#8217;s IUP catheters include:&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd>UTMD&#8217;s initial fluid-filled catheter kits utilized a saline-filled catheter placed within the uterine cavity, connected to a separate external reusable or disposable pressure transducer. This product package, utilizing double lumen catheters, was the traditional mode of intrauterine monitoring prior to the introduction of INTRAN. &#160;An intrauterine pressure change was transmitted through the fluid column to the external pressure transducer.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd>Introduced in 1987, INTRAN was the first disposable intrauterine pressure catheter that placed the pressure transducer at the pressure source within the uterine cavity. &#160;This design eliminated the complicated setup of fluid-filled systems and provided more accurate pressure waveforms. &#160;INTRAN I was discontinued in 1995 in favor of the more widely preferred INTRAN PLUS.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd>INTRAN PLUS, introduced in 1991, combines the transducer tip concept of INTRAN I with a refined tip design, a zeroing switch or button that allows the clinician to reset the reference of the monitor, and a dedicated amniolumen which provides access to the amniotic fluid environment which may be helpful in the diagnosis and intervention of certain fetal conditions. &#160;Subsequent enhancements to INTRAN PLUS included a viewport which allows physicians to observe amniotic fluid in a closed system along with alternative configurations for user preferences in tip size, zero switch/button location and amniotic fluid visualization.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>In addition, adjunct tocodynamometer belts are provided by UTMD. &#160;Abcorp toco belts and straps for fetal monitoring by an external tocodynamometer are provided in latex-free form in several configurations. &#160;UTMD extended the product line to include Bari-Belts&#8482; and Bari-Bands&#8482;, a series of abdominal belts designed specifically for bariatric patients and bands to accommodate patients of all shapes and sizes. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD markets tocodynamometer belts, catheters and accessories, but does not market electronic monitors, the capital equipment that processes the electrical signals. &#160;UTMD continues to investigate the feasibility of tools that enhance fetal monitoring techniques.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Specialized Labor &amp; Delivery Tools.</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>BT-CATH&#174; is a patented uterine balloon tamponade catheter for controlling severe postpartum hemorrhage. Obstetric hemorrhage, which is unpredictable and potentially life-threatening, creates a medical emergency that is commonplace. The benefits of BT-CATH include the ease of rapid deployment and ability to monitor further bleeding after the tamponade has been placed. &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The CVX-RIPE&#8482; catheter is designed to mechanically improve the favorability of the cervix of pregnant patients at term gestation, for whom induction of labor is medically indicated. CVX-Ripe utilizes two adjacent &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">2</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">conical silicone balloons, similar to the shape of an hourglass. &#160;This design is intended to allow the clinician to gently apply internal pressure to the cervical canal, as well as both the internal and external os, to reduce the time needed to allow induction as well as the total time to achieve a successful vaginal delivery. </p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>AROM-COT&#8482; is a finger cover with a prong designed to rupture maternal membranes with less patient pain and anxiety. &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>MUC-X is an aspiration device used immediately after birth to clear neonatal respiratory passages and reduce exposure to potential infections. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>CORDGUARD&#174; is a device which unifies the multiple steps of clamping the neonate&#8217;s cord close to the umbilicus, severing the cord without splattering blood, drawing a clean cord blood sample and assisting in the removal of the placenta. &#160;CORDGUARD&#8217;s sharpless, closed system reduces the risk of exposure to potentially infected blood, and consequently reduces the high cost of exposure treatment under OSHA and CDC guidelines. In addition, CORDGUARD facilitates obtaining neonatal blood that is otherwise hard to obtain safely and cleanly. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Vacuum-Assisted Delivery (VAD) Systems.</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s VAD Systems include CMI&#174; soft silicone bell-shaped birthing cups and reusable hand-held vacuum pumps which are the safest products available for use in vacuum-assisted operative deliveries. UTMD&#8217;s soft silicone cup is a bell-shaped cup design that should be preferred for fetal well-being in low or outlet fetal stations with occiput anterior presentations, which represent more than 90% of the cases where VAD is indicated. &#160;Operative vaginal deliveries using forceps or vacuum-assisted delivery systems provide knowledgeable physicians with a trial vaginal operative delivery prior to a more invasive C-section intervention. Although there are risks associated with vaginal operative deliveries which may currently represent about 3% of all U.S. hospital births, the procedures are generally regarded as safer long term for the mother, and at least as safe for the fetus, as abdominal (Cesarean) delivery in comparable clinical situations. UTMD&#8217;s bell-shaped soft silicone TENDER TOUCH&#174; cups enjoy a significantly lower reported complication rate compared to other vacuum cup designs, as evidenced by the FDA Medical Device Reporting System (MAUDE) which publicly lists serious injuries reported by hospitals using specific brand names of products. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>Neonatal Intensive Care</b></span>:</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">DISPOSA-HOOD&#8482;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The DISPOSA-HOOD is an infant respiratory hood that is used in the NICU to administer oxygen to neonates and flush CO2 (carbon dioxide) while maintaining a neutral thermal environment (NTE) critical to proper physiologic responses. The DISPOSA-HOOD, placed over the infant's head or body, incorporates a round diffusor connection specifically designed to disperse the incoming gases along the inner surfaces of the hood, rather than allowing them to blow directly on the infant's head. &#160;The design allows more precise FIO2 (fractional inspired oxygen) control, minimizes convective heat loss from the head, provides optimum flows for elimination of CO2 by ventilation and allows for humidification. DISPOSA-HOOD, in contrast to an incubator, allows for excellent access to and visualization of the underdeveloped infant. &#160;Because it is a disposable product, it also prevents potential cross-contamination that might occur with an incubator. Less invasive than nasal cannulae, DISPOSA-HOOD avoids potential damage to fragile premature neonatal nasal/ orotracheal tissues, as well as facial tissues as cannulae are often secured with tape. &#160;A nasal cannula by itself cannot provide a NTE.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">DELTRAN&#174; PLUS</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s DELTRAN blood pressure monitoring system has been adapted specifically for use in the NICU. &#160;The streamlined version eliminates needles used for blood sampling, avoids the loss of scarce neonatal blood volume and provides a closed system that reduces the risk of infection. &#160;The system features excellent visualization of clearing volume, and one-handed use. &#160;UTMD continues its customization of Deltran kits for specific hospital applications. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">GESCO&#174;</span> </p>
<p style="font:10pt Times New Roman;margin:0">In 1998, UTMD acquired the neonatal product line of Gesco International. &#160;GESCO, best known for optimally biocompatible silicone catheters, gained an early distinctive reputation for its focus on the special developmental needs of tiny, critically-ill babies. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>A class of catheters called umbilical venous catheters (UVCs) are specially designed for administering vital medications and fluids immediately following birth through the infant&#8217;s umbilical vessel into the inferior vena cava. &#160;Because of the neonate&#8217;s small size and lack of vascular development, there is no better access to vital organs. &#160;The catheters are also called umbilical artery catheters (UACs) when placed in one of the umbilical arteries to measure blood pressure or monitor metabolic processes through blood analysis. &#160;In developing its UMBILI-CATH&#8482; product line, Gesco pioneered the use of soft, biocompatible silicone catheters, helping to &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">3</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">reduce the number of insertions required as well as other complications associated with invasive applications. UTMD has expanded the UVC product line to include catheters made from a proprietary thermosensitive polyurethane (Tecoflex&#174;) that offers many of the flexibility and biocompatibility advantages of silicone after insertion, with the greater rigidity of polyurethane preferred by many clinicians for insertion. In addition, GESCO provides a convenient catheterization procedure tray of instruments and supplies necessary to place UVC catheters, as well as perform other similar procedures.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The primary distinction of GESCO products is that they were developed with the special needs of the neonate in mind, not just cut-down or smaller versions of adult devices. &#160;For example, in the case of invasive catheters, the introducer, the soft rounded distal tip, mode of securing to the patient after insertion to avoid migration, luer-locking hub with minimal dead space, number of lumens, catheter radiopaque striping for visualization, variations in catheter lengths and diameters and special packaging are all features specially designed for neonates. UTMD continues to modify product features to incorporate current neonatal practitioner preferences. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The soft, biocompatible silicone catheter concept had important advantages in other applications including peripherally inserted central venous catheters (PICC lines), enteral feeding tubes, urinary drainage catheters and chest drainage tubes. &#160;GESCO developed and marketed initial versions of all of these neonatal products. In order to keep pace with the trend of caring for smaller babies, UTMD has added smaller diameter versions of its URI-CATH&#174; and NUTRI-CATH&#174; products. At the request of customers who prefer a stiffer catheter for insertion, UTMD added a Tecoflex polyurethane oral-connection only Nutri-Cath series.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>PICC-NATE&#174; is a percutaneous intraepithelial central venous catheter family of devices specifically designed to minimize trauma to the critically ill neonate. &#160;The product line was designed with the input of experienced neonatal medical practitioners for use as a long-term indwelling catheter system for single-use, therapeutic central venous infusion of drug solutions, blood products or other fluids and for blood sampling. The soft, strong silicone PICC-Nate comes in three diameter sizes, 1.1 Fr, 1.9 Fr and 3.0 Fr, and two hub configurations for securement. UTMD&#8217;s most recent addition, the tiny 1.1 Fr catheter, advances the ability of clinicians to care for smaller premature babies. UTMD added Tecoflex polyurethane versions in the same sizes that offer many of the flexibility and biocompatibility advantages of silicone after insertion, with the greater rigidity of polyurethane preferred by many clinicians for insertion.  &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD developed a unique enteral feeding-only extension set named NUTRI-LOK&#174; that addresses important safety risks in the NICU &#8211;&#160;inadvertent connections with IV lines and inadvertent disconnections of components of the system spanning the dispensing container through the infusion catheter. &#160;UTMD added dispensing syringes with interlocking connectors to its NUTRI-CATH/NUTRI-LOK family of enteral feeding devices. &#160;UTMD further expanded the NUTRI-LOK system with specialty extension sets for GI tubes and for continuous connection to a fluid pump.  In addition, UTMD added variations in adapters and extension sets used with NUTRI-CATH. &#160;Recognizing the important need to prevent misadministration of enteral feeding or medication by the wrong route, the FDA in February 2015 released its guidance, &#8220;Safety Considerations to Mitigate the Risks of Misconnections with Small Bore Connectors Intended for Enteral Applications.&#8221; &#160;The guidance includes compliance with ISO 80369-3 standard connectors. The standard was released to create a universal connection that is not compatible with a luer connection or any other type of small bore medical connector.&#160; As a result, UTMD introduced an alternative enteral feeding family of devices incorporating ENFit&#8482; ISO 80369-3 compliant connectors.&#160; These purple connectors are designed to replace Nutri-Lok connectors on catheters and extension sets.&#160;UTMD also distributes ENFit oral syringes.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD replaced all DEHP plasticizer PVC materials in its Gesco product line that may come in contact with neonatal patients, addressing another safety concern related specifically to the possible maldevelopment of male neonates. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Other GESCO specialty products include a disposable peritoneal dialysis (PD) set that is a pre-assembled, sterile, closed system, called DIALY-NATE&#174;. &#160;PD is an ideal method to aid compromised renal function in a neonate because critically-ill pediatric patients may not have sufficient blood volume to support hemodialysis. DIALY-NATE is provided in a form that allows timely PD implementation. &#160;A number of custom configurations of DIALY-NATE have been added to satisfy specific clinical preferences.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Other specialty NICU devices include a silicone oral protection device used to prevent palatal soft tissue injury by orotracheal tubes, called PALA-NATE&#174;; a pre-assembled, closed urinary drainage system, called URI-CATH&#174;, which reduces risk of infection and valuable nursing time, and a lumbar sampling kit with a tiny, specially-beveled needle for obtaining cerebral spinal fluid samples, called MYELO-NATE&#174;. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>GESCO&#8217;s first patented product, HEMO-NATE&#174;, is a disposable filter designed to remove microaggregates from stored blood prior to transfusion into a neonate where any deficiency can have an overwhelmingly &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">4</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">negative impact on a neonate&#8217;s chances for survival, given an under-developed vasculature and small total blood volume. &#160;UTMD also introduced a new filter and an improved blood bag spike for HEMO-NATE, and a needleless version. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD expects to continue to enhance and expand its neonatal product line, seeking to reinforce a reputation as having the most reliable and developmentally-friendly specialty devices available for the NICU. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>Gynecology /Urology /Electrosurgery</b></span>:</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">LETZ&#174; System: FINESSE+ Generator; Specialty Loop, Ball, and Needle Electrodes;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The LETZ System (loop excision of the transformation zone) is used to excise pre-cancerous cervical intraepithelial neoplasia (CIN) and other lower genital tract lesions related to human papilloma virus (HPV) infections. &#160;The electrosurgery procedure with hemostasis has become the standard of care for HPV cervical infection treatment, replacing cold knife scalpel, laser and cryotherapy procedural approaches because it is economical, safe, effective, quick and easy to perform, has fewer potential side effects and requires little physician training. &#160;A major incentive for performing the LETZ procedure is that it may be performed using local anesthetic in a physician's office, eliminating the time and expense of hospital or surgical center admittance. &#160;Most importantly clinically, in contrast to laser (tissue ablation), cryotherapy (freezing of tissue) and thermal coagulation (thermal volumetric destruction of tissue), LETZ provides a fine tissue specimen for pathological assessment and confirmation of diseased tissue removal. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s LETZ System includes disposable electrodes, the FINESSE&#174; electrosurgical generators and other miscellaneous components. &#160;The UtahLoop&#174; disposable loop electrode, used to excise the tissue specimen, is a pencil-like tube with a thin tungsten wire loop attached. &#160;The loop is available in varying sizes and includes a Safe-T-Gauge&#174; that can be positioned so the physician can accurately monitor and control the amount of tissue being excised. Excising too much tissue can compromise fertility and result in premature birth. Excising too little tissue can result in failure to remove the precancerous tissue. UTMD continues to augment its specialty electrodes. For example, the Company markets a unique conization electrode for deep endocervical disease called C-LETZ&#174;, designed by UTMD to limit the removal of healthy tissue that might compromise adequate cervical function.  UTMD introduced the patented DXTender&#174; electrode attachment that prevents interference with the colposcope during LETZ. &#160;UTMD also will continue to provide other components to augment the use of its market-leading specialty electrodes with other manufacturers&#8217; electrosurgical generators. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The FINESSE+ electrosurgical generator design includes dispersive pad contact monitoring for patient safety, specialized circuitry for computer-controlled output that provides a precise tissue specimen for histopathology, an efficient output stage resulting in minimal heat generation and long electronic component life, an electronic components design which reduces the number of required components and allows a long service life, and an easy change internal filter for integral smoke evacuation, a unique feature of FINESSE. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">FILTRESSE&#174; Evacuator; Other Specialty Electrodes; Other UTMD Supplies and Gynecologic Tools; Femcare Trocars and Cannulae; and Femcare Laparoscopic Instruments and accessories.</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD has FDA clearance to market its electrosurgical system and tools for use in general surgery applications, including dermatology, plastic surgery and otolaryngology.  FILTRESSE is a stand-alone surgical smoke filtration system that combines high filtration efficiency, low cost and convenient use in a surgical office setting. Other electrosurgery tools and accessories include disposable electrosurgical pens, dispersive pads, footswitches, filter packs, speculums, retractors, forceps, tenacula and hooks. &#160;UTMD acquired the distribution rights to a unique reusable four-way expander system which facilitates access to, and visualization of, the cervix, eliminating the need for less effective specula and lateral retractors. OptiSpec&#174; is a patented ultra-bright light for cervical visualization without physician distraction during exams, pap smears and other vaginal procedures requiring direct cervical visualization without the use of a colposcope. &#160;As part of its acquisition of Femcare, UTMD acquired single patient use trocars and cannulae available in shielded and bladeless designs, suction and irrigation tubing, insufflation tubing and connectors, pressure infusor bags and control valves. Also acquired were Femcare&#8217;s hormone replacement therapy (HRT) trocar/obturator and HRT procedure tray for subdermal placement of hormone tablets, and a femoral sponge product used during joint replacement surgery. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">EPITOME&#174; and OptiMicro&#8482; Electrosurgical Devices</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>After finding the general surgical market lacked a precision electrosurgical blade, UTMD developed EPITOME, an electrosurgical scalpel which delivers precise performance in surgical incision and excision with hemostasis while minimizing thermal side effects. &#160;Where rapid yet precise dissection of dense or fatty tissue is necessary, such as in mammaplasty or abdominoplasty, UTMD believes that EPITOME has no close substitute. Furthermore, an independent study concluded that the EPITOME scalpel provides a significant improvement over other devices in wound healing. &#160;EPITOME allows a rapid incision without countertraction, &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">5</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">yielding limited morbidity, less post-surgical pain and cosmetically superior results. EPITOME is useful where minimization of thermal tissue injury is important but control of bleeding needed. A bendable version of EPITOME with a smaller active electrode was introduced later. Designed to significantly reduce the chance of tissue burns due to inadvertent electrode contact and where a smaller, bent scalpel tip is needed, the bendable EPITOME is of particular value, e.g., to thoracic surgeons in harvesting the internal mammary artery during coronary artery bypass surgery, as well as to otolaryngologists for tonsillectomies or uvulopalatoplasties, or plastic surgeons creating or working in a breast pocket during augmentation or capsulectomy.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD introduced a product line of ultra-fine tipped microdissection needles, called OptiMicro&#8482; Needles, to complement the Epitome Scalpel. &#160;Whereas the Epitome Scalpel has been particularly effective for large scale surgeries that entail a great amount of tissue cutting, the OptiMicro electrosurgical needles are particularly useful in small-scale plastic and reconstructive surgery applications where extreme precision and ideal cosmetic results are expected. &#160;UTMD added extended length OptiMicro needle versions useful in certain head and neck procedures.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Filshie&#174; Clip System</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD acquired the Filshie Clip System as part of its acquisition of Femcare Group Ltd in March 2011. In 2024, sales of Filshie clips, applicators and accessories represented 26% of UTMD&#8217;s total U.S. Dollar denominated sales. The Filshie clip is a female surgical contraception device used for tubal ligation, i.e., placed on the fallopian tubes, generally laparoscopically in between pregnancies (interval sterilization), but also postpartum (following childbirth) during C-Sections. The Filshie clip, implanted in over six million women worldwide during the last 40 years, has empirically been proven to be the safest and most effective tubal occlusive device, is as easy or easier to achieve occlusion as any of the alternative surgical techniques, and has a substantially higher probability of reversibility when compared to all of the other approaches for women who later decide that they would like to get pregnant. Femcare has obtained numerous regulatory approvals for the Filshie Clip System, which throughout 2024 was sold OUS directly by UTMD and its subsidiaries to medical facilities in Canada, Ireland, France, the UK, Australia and New Zealand, and through specialty distributors in other countries. In February 2019, UTMD purchased the remaining exclusive U.S. distribution rights of CooperSurgical Inc. (CSI), allowing the Company to directly distribute the Filshie Clip System to medical facilities in the U.S. &#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>There have been several tubal ligation methods with varying degrees of effectiveness, safety and opportunity to be reversed. The traditional tubal ligation approach, informally known as &#8220;getting one&#8217;s tubes tied&#8221;, is a form of female sterilization in which the fallopian tubes are severed, sealed and permanently pinched shut. &#160;If the sterilization procedure is carried out postpartum, the Pomeroy technique is often adopted. During this procedure a small loop of the fallopian tube is tied with a suture and the top section removed by cutting. A traditional method for interval sterilization is with the use of bipolar cautery (electrocautery). With this method, an electrical current flows between the tips of forceps when applied to the fallopian tube. The current then &#8220;burns&#8221; a portion of the fallopian tube shut. Bipolar cautery has a higher rate of ectopic pregnancy, a life-threatening complication, compared to other tubal occlusion methods. Although these common methods are relatively easy to perform, their failure rate - defined as the percentage of patients having undergone the procedure who subsequently get pregnant - has been reported to be about 3%. The Filshie clip, which can be used either postpartum or at times unrelated to the post-partum period (interval sterilization), is at least as easy to use, has much less intraoperative risk, has a reported failure rate an order of magnitude less than bipolar cautery and is more effective and much simpler to perform than the Pomeroy technique.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Apart from bipolar cautery and the Pomeroy technique, other mechanical devices have been used but are no longer manufactured: the Falope Ring (or Yoon Ring) and the Hulka clip. Both these older methods had a higher failure rate than the Filshie clip, are associated with more post-operative pain and have generally been abandoned in favor of other sterilization techniques. &#160;In addition, two more recent hysteroscopic sterilization methods, the Adiana and the Essure occlusive devices, also are no longer being sold. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Pain associated normally with any laparoscopic procedure generally resolves within 48 hours, and is not severe, nor does it become chronic unless the result of an infection. Sterile Filshie clips are provided to the surgeon in validated sterile packaging. Nevertheless, pain is the most prevalent (but still rare) Filshie clip complaint. &#160;In women with implanted clips who have reported chronic pain, several other gynecological symptoms are typically present which are not related to Filshie clips. The obvious recourse for a person experiencing pain that she associates with an implanted device is to remove it. &#160;Given widely available imaging and normal laparoscopic skills, Filshie clips can be removed safely, although removal is very rarely requested by patients or recommended by physicians.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>A well-known and clinically-reported potential side effect of Filshie clip tubal ligation, as with any other surgical clip or implant, is subsequent clip movement, often called &#8220;migration&#8221;. A clip-occluded fallopian tube &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">6</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">eventually separates into two permanently closed stubs after tissue necrosis under a closed clip. Peritoneal tissue usually encapsulates an implanted clip while still in contact with the fallopian tube. &#160;In some cases where tissue encapsulation is slow, movement of a clip may occur after sterilization has been achieved. Although the silicone lining of the clip helps prevent clip migration and reduces the risk of tubal regeneration, one clinical journal publication indicated migration occurs 6% of the time. Dr. Marcus Filshie, the inventor of the clip, expressed his opinion in 2002 that more than 25% of patients will experience a migration of one or more clips, typically within the abdominal cavity. Once detached, the clip typically becomes encompassed in dense adhesive tissue without any symptoms. Rarely, a low-grade inflammatory response can occur. Because clips are biologically inert and small, physicians generally have concluded that removing a migrated clip represents more risk to long term well-being than leaving it in the body. &#160;In 2019, UTMD retained an independent clinical expert, Dr. Nader Gad in Australia, who in 2010 had published the results of an almost twenty-year retrospective review of all reported Filshie clip migration events in the English literature, in order to independently review all subsequent reported complaints contained in the US FDA MAUDE website and the Australia TGA DAEN website over the most recent ten years. His February 2019 written report observed that &#8220;There were no serious clinical or life-threatening complications that related directly or indirectly to the Filshie clips or their migration.&#8221; &#160; &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>In late 2021, after the Filshie clip had been used in the U.S. for 25 years and implanted in millions of women, a clip migration lawsuit was filed in TX. Subsequently, the same law firm solicited and recruited complainants in other states, filing cases around the country. A copycat law firm added complaints in 2023 and 2024, predominantly in CT state court where Femcare&#8217;s previous distributor, CooperSurgical Inc. (CSI), resides. Femcare Ltd. and its corporate parent Utah Medical Products, Inc. have been dismissed as defendants in CT. The original plaintiff law firm filed only two new lawsuits in 2024, another one in TX federal court and one with multiple plaintiffs in CT state court. Aside from the CT state court cases, all remaining lawsuits are in federal courts. As of March 25, 2025, five cases have been thrown out by summary judgment with several others dismissed prior to the summary judgment phase. Three more summary judgment motions are pending in federal courts around the country, with decisions on those expected in 2025. &#160;Other summary judgment motions will be filed in 2025 after mandated discovery has been completed. UTMD and its lawyers believe that it has persuasive legal arguments in every case being put before courts. But, in any case where a summary judgment motion is not considered completely dispositive it would have to go to trial. There have been no trials as yet, and UTMD has confidence that the chance of avoiding trial is significant in every case.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The U.S. FDA approved the Filshie clip for marketing in the U.S. in 1996 after a Premarket Approval (PMA) submission, which included a prospective clinical trial involving 5,454 women implanted with Filshie clips.  As mandated by the FDA, Femcare (the developer and manufacturer of the Filshie Clip System) is required to submit an annual experience report for FDA&#8217;s continual review and vigilance of the safety and effectiveness of the PMA device. &#160;In late 2016, the FDA approved the use of Femcare&#8217;s Sterishot single use applicator for implanting Filshie clips. (An applicator is a precision instrument which closes the implanted Filshie clip on the Fallopian tube to achieve proper permanent tubal ligation.) Reused applicators require extra handling, cleaning, resterilization and storage, which all have the potential to damage or misalign the delicate mechanism. Timely periodic servicing and recalibration is needed, but often not sought by hospitals. In addition, the reuse of a surgical instrument introduces the possibility of infection if not properly cleaned and resterilized between procedures. The precalibrated, single-use sterile Sterishot applicator eliminates these safety, effectiveness and cost exposures. After more than ten years since being introduced outside the U.S. (OUS), the patented Sterishot is used in the majority of Filshie clip ligation procedures OUS, but was not effectively marketed by CSI, Femcare&#8217;s distributor in the U.S. until 2019. &#160;Beginning in February 2019, UTMD began directly marketing the Filshie Clip System in the U.S., recommending that all hospitals use a Sterishot kit for each procedure. &#160;Beginning in 2017, UTMD began the process of transitioning the manufacture of clips from a UK third party subcontract manufacturer to its Ireland facility, which not only included investment in new equipment but also training of operators and regulatory approvals. As of January 2025, UTMD Ltd in Ireland had received regulatory approvals for its manufacture of clips for distribution in the U.S., Canada, Australia, New Zealand and South Africa. &#160;Approvals for Europe and the UK are pending.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">PATHFINDER PLUS&#8482;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>PATHFINDER PLUS is a proprietary endoscopic irrigation device that allows a uro/gyn surgeon to precisely irrigate, clearing the visual field, with the same hand that controls the endoscope, eliminating the need for a separate assistant to irrigate without visualization. &#160;An example of a procedure where Pathfinder has found particular success is ureteroscopic stone ablation.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">SUPRAPUBIC CATHETERIZATION</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The Add-a-Cath&#8482; introducer is a Femcare device designed for easy and safe suprapubic introduction of a catheter for bladder drainage. &#160;Suprapubic catheterization is generally well-recognized as a drainage method &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">7</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">with fewer complications than with urethral catheterization. &#160;In 2013, UTMD introduced suprapubic catheterization procedure kits featuring the Add-a-Cath introducer, which UTMD now distributes directly to end-users in the U.S. under the trade name Supra-Foley&#174;.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">LIBERTY&#174; System</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>LIBERTY is a device for the conservative treatment and effective control of urinary incontinence in women. UTMD believes that LIBERTY is the easiest-to-use, most cost-effective incontinence treatment available that yields a therapeutic effect, not just a cover-up. LIBERTY consists of a battery-operated electrical stimulation unit and an intravaginal electrode probe. &#160;This physiotherapy technique, which can be done in the privacy of the home, involves passive strengthening of the periurethral muscles. &#160;Pulsed, low voltage, low frequency current is applied primarily to the pudendal neuromuscular tissue causing the pelvic area muscles to contract, leading to better muscle tone. &#160;Because electrical stimulation has no known adverse side effects, LIBERTY provides women suffering from mild to moderate incontinence an effective, lower cost and lower risk alternative to more traumatic treatments such as surgery and drug therapy. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">ENDOCURETTE&#174;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>In cooperation with Mayo Clinic, UTMD developed an advanced curette for uterine endometrial tissue sampling in the doctor&#8217;s office. &#160;The sampling procedure is intended primarily to rule out precancer or cancerous change of the uterus in premenopausal women with abnormal uterine bleeding, or women with postmenopausal bleeding. &#160;The device is part of a class of catheters designed to be used without dilatation of the cervix and without general anesthetic. &#160;The inherent weakness of this type of device, which is related to its small size, is that it may not remove enough tissue of the endometrium for an accurate histologic assessment, in contrast to a more invasive D&amp;C hospital procedure. &#160;The tip of the EndoCurette was specially designed to obtain a more thorough tissue specimen compared to other catheters used without the need for dilatation, and without an increase in patient discomfort. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">TVUS/HSG-Cath&#8482;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>In order to further assess persistent abnormal or dysfunctional uterine bleeding and other suspected abnormalities of the uterus, or as a next step after endometrial tissue sampling with an EndoCurette, gynecologists may utilize transvaginal ultrasound imaging of the uterus. &#160;UTMD&#8217;s TVUS/HSG-Cath was designed and released for marketing in 2007 to provide effective cervical occlusion that allows distention of the uterus to differentiate anterior and posterior endometrium, among other irregularities, together with minimal visual obstruction of the uterus near the internal os. &#160;In addition, the TVUS/HSG-Cath may be used in hysterosalpingography radiographic procedures to assess the patency of fallopian tubes. &#160;A related device acquired in 2011 is Femcare&#8217;s Spackman Style uterine cannula designed for the manipulation of the uterus and injection of fluid to test the patency of the fallopian tubes. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">LUMIN&#174;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>LUMIN&#174; is a gynecological tool developed by UTMD for reliably and safely manipulating the uterus in laparoscopic procedures. &#160;LUMIN combines the strength, range of motion and versatility of the higher end reusable instruments with the lower cost and cleanliness of the inexpensive less functional disposable instruments presently on the market, while at the same time reducing the number of tools needed to move and secure the uterus. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>Pressure Monitoring:</b></span></p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">DELTRAN&#174; Disposable Pressure Transducer (DPT)</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>In pressure monitoring, a transducer is used to convert physiological (mechanical) pressure into an electrical signal that is displayed on electronic monitoring equipment. &#160;UTMD developed and is now distributing its disposable transducer as a stand-alone product, and as a component in sterile blood pressure monitoring kits through direct representatives and other medical companies in the U.S., as well as independent distributors and other medical device companies OUS.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The Company believes that the DELTRAN DPT which it designed over thirty years ago and currently manufactures, remains the standard in terms of accuracy, reliability and ease of use. &#160;Introduced in 1998, the DELTRAN PLUS provides a closed system for blood sampling, without the use of needles, reducing the risk of an unwanted infection for both the patient and the practitioner. &#160;In 2009, in conjunction with its other NICU devices, UTMD continued to configure neonatal Deltran custom kits which satisfy the special needs of conserving limited blood volume and protecting the neonate from infection. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">BioPharm HP-PRT&#8482;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Over 16 years ago, on behalf of an OEM customer, UTMD was the original developer of high pressure, piezo-resistive transducer assemblies used in accurately sensing static and dynamic fluid pressures in biopharmaceutical manufacturing systems including filtration processes, chromatography processes, &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">8</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">bioreactors, and filling operations, among other key processes in the rapidly growing biopharmaceutical industry. &#160;UTMD is now offering its technology directly to biopharmaceutical manufacturing companies worldwide. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Pressure Monitoring Accessories, Components and Other Molded Parts.</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Components included in blood pressure monitoring kit configurations include transducers, flush devices, stopcocks, fluid administration sets, caps, pressure tubing, interface cables and organizers. &#160;The Company sells similar components designed for other medical device company applications which incorporate UTMD&#8217;s technologies and designs. &#160;DELTA-CAL&#8482; is a calibration device used to check proper functioning of an arterial pressure system. &#160;In addition, UTMD sells plastic molded parts on a subcontract basis to a number of medical and non-medical device companies. &#160;In addition, partly as a result of its excellent quality system and ISO13485 certification, UTMD performs subcontract assembly, testing and packaging of components that are proprietary to other medical device firms. &#160;UTMD believes that this practice helps better utilize its investment in fixed plant and equipment, and spreads overhead costs resulting in better gross profit margins on finished device sales. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">MARKETING and COMPETITION</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD divides its sales into &#8220;domestic&#8221; U.S. sales and &#8220;outside the U.S.&#8221; (OUS) sales, which are finished device and component sales to entities outside the U.S. &#160;&#160;&#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">1) &#160;<span style="border-bottom:1px solid #000000">Domestic sales</span>.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>For domestic sales to end-users of finished devices, marketing efforts are complex and fragmented. &#160;UTMD&#8217;s marketing focus is with clinicians who take responsibility for obtaining optimal patient care outcomes, primarily through clinical meetings, trade shows and the Internet. &#160;In competitive bidding processes, UTMD must work primarily with administrators who are responsible for hospital purchasing decisions. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD competes primarily on the basis of improved patient safety and reliable device performance in the hands of a trained clinician. &#160;A number of UTMD&#8217;s devices are strong brands because they are well-recognized by clinicians as clinically different and have been in trusted use for decades. &#160;UTMD&#8217;s broad offering of finished devices is comprised of dozens of specialty device types. &#160;Although there may be only a few competitors for each type, in the aggregate UTMD has dozens of U.S. medical device competitors. &#160;There are at least two competitors with significant market share for each of UTMD&#8217;s device types. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>As a general rule, because of UTMD&#8217;s differences in design and reliability, competitors&#8217; devices represent substitutes rather than equivalent devices. &#160;The Company&#8217;s primary marketing challenge is to keep its customers focused on those differences and their important clinical benefits. &#160;In recent years, access to U.S. hospital clinicians has become increasingly restricted and the involvement of clinicians in medical device purchasing decisions, which is critical to the Company&#8217;s success, has declined. To the degree that U.S. hospitals become less focused on patient safety and clinical outcomes and more on out-of-pocket unit price, UTMD&#8217;s competitive position weakens. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>In 2024, UTMD sold components and finished devices to 134 other companies in the U.S. (OEM sales). For over 40 years, the Company has utilized its manufacturing capabilities and engineering know-how to produce high quality components and finished devices for other companies. &#160;For U.S. companies which wish to distribute their products outside the U.S., UTMD&#8217;s maintenance of certification to current ISO 13485 medical device quality standards is an important benefit. &#160;UTMD&#8217;s website, which lists its capabilities, is often the basis for contacts for new OEM work.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Although there are other manufacturers in the U.S. with similar manufacturing capabilities, UTMD&#8217;s primary competition comes from Mexico, East Europe, India and China device component manufacturers which have much lower wage rate structures. To the extent that the U.S. Dollar (USD) gains strength in any period of time against foreign currencies, UTMD&#8217;s ability to be cost-competitive with foreign manufacturers is diminished.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">2) &#160;<span style="border-bottom:1px solid #000000">Outside the U.S. (OUS) sales</span>. &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>OUS sales in 2024, as a percentage of consolidated total USD sales, represented 43% compared to 44% in 2023 and 39% in 2022.  In USD terms, 74% of 2024 OUS sales were invoiced in foreign currencies. In addition, foreign subsidiary expenses are in the native currency of the respective country. Therefore, changes in foreign currency exchange (FX) rates can have a significant impact on UTMD&#8217;s USD-reported financial results. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Prior to 2011, with only a few exceptions, UTMD&#8217;s OUS sales were to other medical device companies and distributors, not to clinical end-user facilities. After the acquisition of Femcare in 2011, UTMD began a transition to marketing directly to end-users in countries where the Filshie Clip System had achieved significant acceptance. This also allowed increased distribution opportunities for other UTMD devices which &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">9</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">previously did not have significant third-party distributor interest. &#160;In 2024, UTMD distributed directly to OUS medical facilities in Canada, the UK, France, Ireland, Australia and New Zealand.  In addition, the Company&#8217;s devices are sold in other countries OUS through approximately 200 independent regional distributors. UTMD&#8217;s website provides information that frequently results in unsolicited contacts from OUS entities. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">DISTRIBUTION</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>An important success factor in the medical device industry is access to medical practitioners. &#160;In the U.S., the hospital supplier environment has consolidated as a result of group purchasing organizations (GPOs), or their equivalents. &#160;It is UTMD&#8217;s assessment that U.S. hospitals are not saving costs under GPO contracts when it comes to specialty medical devices that can reduce complications, utilization rates, clinician time and unwanted side effects, because administrators are focused primarily on out-of-pocket costs and miss the broader total cost of care issues. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The longer-term overall cost of care in the U.S. will continue to increase, with quality of care lower, as innovative suppliers are excluded from participating in the marketplace as a result of unnecessary regulatory and other purely administrative burdens. The length of time and number of administrative steps required in evaluating new products for use in hospitals has grown substantially. As a potential negative factor to future performance, as UTMD introduces new products it believes are safer and more effective, it may find itself excluded from certain customers because of the existence of long-term supply agreements for existing products. UTMD may also be unable to establish viable relationships with other medical device companies that do have access to users but lack an interest in the Company&#8217;s approach or demand too great a financial or administrative burden. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>When U.S. hospital customers request it, UTMD provides its devices through national distribution companies, also known as Med/Surg distributors. &#160;Sales to Med/Surg distributors in 2024 comprised 14% of total domestic direct sales (excluding domestic OEM sales). &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;In the U.S., Canada, Ireland, France, the UK, NZ and AUS, UTMD sells its products with the support of its own directly employed customer service and sales force, independent consultants and selective independent manufacturer representatives. &#160;Direct sales representatives focus on applications for UTMD devices where customer training and support may be important. The direct employee sales force is comprised primarily of &#8220;inside&#8221; representatives who operate by telephone and email from corporate offices. &#160;The Company also utilizes independent sales representatives primarily on a growth commission basis. &#160;Direct representatives are trained to understand the medical procedures being performed within UTMD&#8217;s clinical focus. Through the use of its one-on-one contacts with physicians and other clinical practitioners directly involved in patient care, the direct sales force positions UTMD to gain market leadership with specific solutions to clinical issues. In addition to its direct representatives, UTMD utilizes third party consulting clinical specialists to augment its customer training programs.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Additionally, in 2024 UTMD sold component parts as well as finished devices to 134 other companies for use with their product lines. This OEM distribution channel is simply maximizing utilization of manufacturing capabilities that are otherwise needed for UTMD's primary business, and does not compete with or dilute UTMD&#8217;s direct distribution and marketing programs. &#160;UTMD&#8217;s largest OEM customer represented 7% ($2.7 million) of total consolidated sales in 2024, compared to 17% ($8.6 million) in 2023 and 22% ($11.6 million) in 2022.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>OUS, the Company and its subsidiaries distribute directly to end-user facilities in Canada, the UK, France, Ireland, NZ and AUS, and in 2024 sold to 193 regional distributors and OEMs (other medical device manufacturers and/or distributors) in over a hundred countries. Ten percent of UTMD&#8217;s independent OUS distributors comprised 77% of UTMD&#8217;s indirect OUS sales in the years of 2022 - 2024. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">NEW PRODUCT DEVELOPMENT &#160;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>New product development has been a key ingredient to UTMD&#8217;s market identity. &#160;Product development takes several interrelated forms: 1) improvements, enhancements and extensions of current product lines in response to clinical needs or clinician requests, 2) introduction of new or augmented devices that represent a significant improvement in safety, effectiveness and/or total cost of care, and 3) acquisitions of products or technology from others. &#160;Manufacturing process development is an equally important aspect that cannot be separated from the successful design and development of devices.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Because of UTMD&#8217;s reputation as a focused product developer, its financial strength and its established clinician user base, it enjoys a substantial inflow of new product development ideas. &#160;Internal development, joint development, product acquisitions and licensing arrangements are all included as viable options in the investigation of opportunities. &#160;Only a small percentage of ideas survive feasibility screening. &#160;For internal &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">10</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">development purposes, projects are assigned to a project manager who assembles an interdisciplinary, cross-functional development team. &#160;The team&#8217;s objective is to have a clinically acceptable, manufacturable and regulatory-released product ready for marketing by a specific date.  Several projects, depending on the level of resources required, are underway at UTMD at any given time. Only a few assigned projects succeed in attaining a product that meets all of the Company&#8217;s criteria. In particular, this includes a product that is highly reliable, easy to use, cost-effective, safe, useful and differentiated from the competition. Once a product is developed, tooled, fully tested and cleared for marketing by the applicable regulatory entity(ies) in the U.S. and/or other countries, there remains a reasonable probability it cannot be successfully marketed for any number of reasons, not the least of which is being beaten to the market by a competitor with a better solution, or not having access to users because of limitations in marketing and distribution resources or exclusionary contracts of GPOs. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s current product and process development projects are in the following areas: 1) augmentation and internal manufacturing of existing UTMD devices, 2) neonatal intensive care, 3) specialized procedures for the assessment and treatment of cervical/uterine disease, 4) labor and delivery procedures, 5) pressure sensors needed for biopharmaceutical manufacturing processes and 5) product and process development for OEM customers. Internal product development expenses are expected to be between 1% and 2% of sales in 2025. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">EMPLOYEES AND OTHERS </span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>At December 31, 2024, the Company worldwide had 155 full-time employees, 12 part-time employees, 6 regular consultants, 20 independent sales representatives and 9 outside directors of UTMD and its subsidiaries. The Company utilizes independent consultants and directors, some of which were prior employees. Almost all of UTMD&#8217;s internally-manufactured devices are made either in Utah or in Ireland. At the end of 2024, the average tenure with the Company of all 140 full-time employees in Utah and Ireland is 13 years. In fact, 35% of those employees have been with the Company for more than 25 years. This experience conveys an important benefit due to the level of training required to produce consistently high-quality medical devices and appreciation of how UTMD&#8217;s devices provide unique benefits for clinicians and patients. The Company's continued success will depend to a large extent upon its ability to retain skilled and experienced employees and consultants. &#160;No assurances can be given that the Company will be able to retain or attract such people in the future, although management is committed to providing an environment in which reliable, creative and high achieving people wish to work.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>None of the Company's officers or directors is bound by restrictive covenants from prior employers that limit their ability to contribute to UTMD&#8217;s programs. All employees agree to a code of conduct and sign a strict confidentiality agreement as a condition of employment, and as consideration for receipt of stock option awards and participation in the annual profit-sharing bonus program. &#160;All employees participate in contemporaneous performance-based bonus programs. None of the Company's employees is represented by labor unions or other collective bargaining groups. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">PATENTS, TRADEMARKS AND TECHNOLOGY LICENSES</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The Company owns seven currently unexpired U.S. patents, numerous associated patents in sovereignties OUS and is the licensee of certain other technology. There can be no assurance, however, that patents will be issued with respect to any pending applications, that marketable products will result from the patents or that issued patents can be successfully defended in a patent infringement situation. &#160;The Company also owns thirty-one registered trademarks which have achieved significant brand recognition. The Company believes that its trademarks and tradenames, many of which have become well known in the global medical community through decades of successful use of the associated medical devices, likely have and will continue to have substantially more intangible value than its patents. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The ability of the Company to achieve commercial success depends in part on the protection afforded by its patents and trademarks. &#160;However, UTMD believes that the protections afforded by patents and trademarks are less important &#160;to &#160;UTMD&#8217;s business, taken as a whole, &#160;than a medical device&#8217;s established incremental clinical utility, which may be dominated by a number of other factors including relative cost, ease of use, ease of training/adoption, perceived clinical value of different design features, risk of use in applicable procedures, the reliability of achieving a desired outcome in the hands of different users and market access to potential users. &#160;In cases where competitors introduce products that may infringe on UTMD&#8217;s technology or trademarks, the Company has an obligation to its stockholders to defend its intangible property to the extent that it can afford to do so, and that it is material to the Company&#8217;s success. The Company must also defend itself if competitors allege that UTMD may be infringing their technologies.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>As a matter of policy, UTMD has acquired and will continue to acquire the use of technology from third parties that can be synergistically combined with UTMD proprietary product ideas. &#160;During 2024, royalties &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">11</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">included in cost of goods sold were $159. &#160;Other royalties have been previously paid as a lump sum, or were incorporated into the price of acquisitions or into the cost of purchased components which practice certain patents of third parties. &#160;Also as a matter of policy, UTMD licenses its proprietary technology to others in circumstances where licensing does not directly compete with UTMD's own marketing initiatives. &#160;During 2024 the Company received $15 in royalty income compared to $20 in both 2023 and 2022. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">GOVERNMENT REGULATION</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD and its subsidiaries&#8217; products and manufacturing processes are subject to regulation by the U.S. Food &amp; Drug Administration (&#8220;FDA&#8221;), as well as many other regulatory entities globally. &#160;The FDA has authority to regulate the marketing, manufacturing, labeling, packaging and distribution of medical devices in the U.S. Requirements exist under other federal laws and under state, local and foreign statutes that apply to the manufacturing and marketing of the Company's medical and biopharma devices.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>All manufacturers of medical devices must register with the FDA and list all medical devices produced by them. &#160;In addition, prior to commercial distribution of some devices for human use, a manufacturer must file a notice with the FDA, setting forth certain information regarding the safety and effectiveness of the device that is acceptable in content to the FDA.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Devices which are classified in Class I are subject only to the general controls concerning adulteration, misbranding, good manufacturing practices, record keeping and reporting requirements. &#160;Devices classified in Class II must, in addition, comply with special controls or performance standards promulgated by the FDA.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Except for the Filshie Clip System, all of UTMD&#8217;s present devices are unclassified, Class I or Class II devices. The Filshie Clip System is a Class III device which has more stringent regulatory controls. The Company is in compliance with all applicable U.S. regulatory standards including CFR Part 820, the FDA Quality System Regulation (QSR) effective in 1997, also known as cGMPs (current good manufacturing practices). &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>In 1994, UTMD received certification of its quality system under the ISO9001/EN46001 standards (&#8220;ISO&#8221; stands for &#8220;International Organization of Standardization&#8221;) which it maintained until December 2003. &#160;In October 2003, UTMD&#8217;s Utah facility was certified under the more stringent ISO13485 standard for medical devices. UTMD&#8217;s Ireland facility was certified under the concomitant ISO13488 standard. &#160;In July 2006, both facility ISO certifications were upgraded to the even more stringent ISO13485:2003 standard. &#160;Currently, UTMD&#8217;s facilities in the UK, Ireland and Utah are all certified under the most recent ISO13485:2016 standard. In 2020, UTMD&#8217;s manufacturing facilities in Ireland and UK were audited and certified by a recognized authorized auditing organization under the MDSAP. &#160;In 2024, UTMD&#8217;s manufacturing facility in Ireland was inspected by the FDA in conjunction with manufacturing Filshie clips in Ireland. &#160;No FDA-483 observations were issued.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The Company&#8217;s most recent Utah FDA QSR inspection was in July 2014, which did not result in the issuance of any FDA-483 observations. Femcare&#8217;s most recent UK FDA QSR inspection was in July 2019, which also did not result in the issuance of any FDA-483 observations.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Since 2019, UTMD&#8217;s manufacturing facilities in Utah have been annually audited and certified by a recognized authorized auditing organization under the Medical Device Single Audit Program (MDSAP). The MDSAP allows a recognized Auditing Organization to conduct a single regulatory audit of a medical device manufacturer that satisfies the relevant requirements of the regulatory authorities of Australia, Brazil, Canada, USA and Japan. &#160;In other words, the FDA accepts MDSAP audit reports as a substitute for routine periodic FDA QSR inspections. UTMD and Femcare remain on a continuous periodic audit schedule by its independent notified body and authorized MDSAP auditing organization in order to stay current with international regulatory standards, and retain certifications. UTMD and Femcare have received CE Mark certifications (demonstrates proof of compliance with the European Community&#8217;s ISO standards) for all major products. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">SOURCES AND AVAILABILITY OF RAW MATERIALS</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Most of the components which the Company purchases from various vendors are available from a number of sources and in a number of locations worldwide. That notwithstanding, the Company maintains safety stocks that anticipate potential disruption to its supply chain from changes in government policies including tariffs, and including the time required to source and qualify new vendors. &#160;Fortunately, given availability of its significant cash reserves, UTMD has had the financial ability to mitigate supply chain risk by carrying extra inventories during periods of increased uncertainty. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Alternative sourcing of various components is continually underway. &#160;Vendors are qualified by UTMD&#8217;s Quality Assurance. In the few cases where the Company has a sole source, it either maintains or has agreement with the supplier to maintain excess safety stocks that would cover the time required to develop and qualify a &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">12</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">new source. The Company has a vendor quality monitoring program that includes routinely checking incoming material for conformance to specifications, as required per written procedures. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">U.S. EXPORTS</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD regards the OUS marketplace as an important element of its growth strategy. UTMD is keenly aware that not only are OUS markets different from the U.S. market, but also that each country has its own set of driving influences that affect the dynamics of the nature of care given and medical devices used. &#160;The Company operates four OUS facilities; in Romsey, Hampshire, England; in Castle Hill, NSW, Australia; in Mississauga, Ontario, Canada and in Athlone, County Westmeath, Ireland. &#160;These facilities offer a number of advantages: 1) from a marketing point of view, better response to Europe, Asia, Africa and Australia customers, including a better understanding of customer needs, less costly distribution and, in the EU, duty-free access to 500 million patients; 2) from a regulatory point of view, faster new product introductions; and 3) from a manufacturing point of view, reduced dependence on one manufacturing site and increased capacity for meeting customer needs.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Total 2024 trade USD revenues from customers OUS were $17,458 (43% of total consolidated USD sales) compared to $22,020 (44% of total consolidated USD sales) in 2023 and $20,310 (39% of sales) in 2022. OUS trade sales (U.S. exports) from the U.S. to OUS customers were $3,995 in 2024 compared to $4,516 in 2023 and $4,256 in 2022. &#160;U.S. exports represented 23% of total OUS sales in 2024 compared to 21% of total OUS trade sales in both 2023 and 2022. &#160;The U.S. export numbers exclude Utah intercompany sales of components and finished devices to UTMD foreign subsidiaries, which then distribute Utah-made components and finished devices as part of their sales to OUS customers.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>For sales by OUS geographic area, please see note 9 to the Consolidated Financial Statements.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">BACKLOG</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Backlog is defined as orders received and accepted by UTMD which have not shipped yet. &#160;As a supplier of primarily disposable hospital products, the nature of UTMD&#8217;s non-distributor and non-OEM business requires fast response to customer orders. &#160;Virtually all direct shipments to end-user facilities are accomplished within a few days of acceptance of purchase orders. Consequently, UTMD&#8217;s backlog at any point in time is comprised mainly of orders from OEM and independent distributors, which purchase in larger quantities, at less frequent intervals with fluctuating order patterns. Backlog shippable in less than 90 days was $1,885 as of January 1, 2025 compared to $3,650 as of January 1, 2024 and $5,605 as of January 1, 2023. &#160;The decline in the beginning backlogs was due to diminishing orders from UTMD&#8217;s largest OEM customer.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">SEASONAL ASPECTS</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The Company's business is generally not affected by seasonal factors, but it is affected by uneven purchasing patterns of OEM customers and independent distributors.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">PRODUCT LIABILITY RISK MANAGEMENT</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The risk of product liability lawsuits is a negative factor in the medical device industry because devices are frequently used in inherently risky situations to help clinicians achieve a more positive outcome than what might otherwise be the case, and even the use of the safest medical devices may still result in injury. &#160;In any lawsuit against a company where an individual plaintiff claims to have suffered permanent physical injury, a possibility of a large award for damages exists whether or not a causal relationship exists. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD is self-insured for product liability risk, and reserves funds against its current performance on an ongoing basis to provide for its costs of defense should any lawsuits be filed. UTMD was named as a defendant on six product liability lawsuits over the time span of the last thirty years, excluding the Filshie Clip System acquired fourteen years ago. Four of the six lawsuits involved a patient injury related to operative vaginal deliveries where a UTMD VAD birthing cup or hand pump was used. The VADS devices in all four cases did conform to specifications. UTMD was ultimately dismissed as a defendant in all four VADS lawsuits, and legal costs were not material to performance. In a fifth lawsuit, regarding the use of EndoCurette, there was no evidence of patient injury. The lawsuit was settled in 2010 for an immaterial amount to avoid the diversion of management time and substantial costs of litigation, even though UTMD was confident that the case was without merit. In a sixth, UTMD was brought into the lawsuit by a defendant physician, speculating a design deficiency in a Finesse electrosurgical generator (ESU) which had been in use for eighteen years before the injury event, and used successfully by the same physician in multiple procedures after the event. The injured patient did not allege any fault by UTMD. &#160;The case was settled in 2012 without any UTMD involvement or liability. The Company&#8217;s average cost of defense of the six lawsuits was $15/year, well below the deductible level of product liability insurance policies and hundreds of thousands of dollars less than &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">13</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">product liability insurance premiums. &#160;The best defense the Company believes that it has is the consistent conformance to specifications of its proven safe and effective products. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>After acquisition by UTMD in 2011 and prior to late 2021, there were three Filshie Clip System lawsuits, all of which were dismissed with prejudice prior to the conclusion of discovery. The average annual cost of those Filshie Clip System lawsuits since 2011 up to late 2021 was $7 per year (less than $25 per lawsuit to achieve resolution). However, in late 2021, Femcare and UTMD were added as defendants in a clip migration lawsuit in Texas, which expanded to fourteen other states with a total of nineteen lawsuits as plaintiffs&#8217; lawyers have sought to solicit and recruit claimants in other states. Ten lawsuits have been dismissed completely as of March 25, 2025, including the bellwether Texas lawsuit. &#160;Unfortunately, social media is being used by aggressive attorneys to solicit plaintiffs using representations that are not true. The filing of new lawsuits died down considerably in 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>There is no basis for a claim of either a poor device design, which was approved as safe and effective by the U.S. FDA, which approval has been continuously maintained since 1996, nor any evidence to-date of any defective clips implanted in the patients who have filed complaints. The basis for claims appears to be an allegation that Femcare failed to properly inform of potential side effects. The contents of &#8220;Instructions For Use&#8221;, which contain warnings and precautions and accompany shipments of clips, have been and remain approved by the FDA. There have been dozens of clinical articles over decades of time describing case studies and use of Filshie Clips. Therefore, there has been no lack of proper disclosure of side effects to physicians who are learned intermediaries. Filshie Clips have been prescribed by knowledgeable U.S. physicians for decades, and implanted in millions of patients in the U.S. and worldwide. &#160;Although the cost of defense has been exceptionally high compared to UTMD&#8217;s historical average cost of product liability defense, and would possibly increase should cases go to trial, the Company believes that the costs can be absorbed without a material impact on UTMD&#8217;s overall consolidated financial performance. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Other than the Filshie Clip claims, there have been no product liability lawsuits for any UTMD device during the last thirteen years. With the exception of the six non-Filshie Clip System lawsuits described above, there have been no product liability claims filed over the last 31 years after distribution and use of over 20 million UTMD critical care and surgical finished devices excluding the Filshie Clip System.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>Since 1993, during which time over one hundred million finished devices and OEM components were manufactured and distributed by UTMD and its subsidiaries, there have been no adverse judgments resulting from a claim of defect in UTMD&#8217;s or its subsidiaries&#8217; designs or manufacture of products, or a fault in informational materials. &#160;Although it hasn&#8217;t happened in the past 46 years, a product liability lawsuit could result in a significant damages award against the Company. &#160;In the current tort system, particularly in the U.S., meritless product liability cases do get filed where aggressive attorneys calculate that a company will find it cheaper to settle for what they consider a nominal amount in lieu of potentially substantial defense costs of discovery and going to trial.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">FORWARD LOOKING INFORMATION </span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>This report contains certain forward-looking statements and information relating to the Company that are based on the beliefs of management as well as assumptions made by management based on information currently available. &#160;When used in this document, the words &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;project,&#8221; &#8220;estimate,&#8221; &#8220;expect,&#8221; &#8220;intend&#8221; and similar expressions, as they relate to the Company or its management, are intended to identify forward-looking statements. &#160;Such statements reflect the current view of the Company respecting future events and are subject to certain risks, uncertainties and assumptions, including the risks and uncertainties stated throughout the document. &#160;Although the Company has attempted to identify important factors that could cause the actual results to differ materially, there may be other factors that cause the forward statement not to come true as anticipated, believed, projected, expected, or intended. &#160;Should one or more of these risks or uncertainties materialize, or should underlying assumptions prove incorrect, actual results may differ materially from those described herein as anticipated, believed, projected, estimated, expected or intended. &#160;Financial estimates are subject to change and are not intended to be relied upon as predictions of future operating results, and the Company assumes no obligation to update or disclose revisions to those estimates.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a2"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 1A &#8211;&#160;RISK FACTORS</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Legislative or executive order healthcare interference in the United States</span> renders the U.S. medical device marketplace unpredictable. A fully government-run healthcare system would likely eliminate healthcare consumer choice as well as commercial incentives for innovation. &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">14</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Increasing regulatory burdens, including premarketing approval delays, may result in significant loss of revenue, unpredictable costs and loss of management focus on developing and marketing products that improve the quality of healthcare: </span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Thousands of small focused medical device manufacturers including UTMD that do not have the overhead structure that the few large medical device companies can afford are increasingly burdened with bureaucratic and underqualified regulator demands that are not reasonably related to assuring the safety or effectiveness of the devices that they provide. In Europe, recent regulatory changes requiring clinically well-accepted devices used safely for decades to be rigorously reapproved every few years ignores the obvious outcome that millions in dollars in additional regulatory cost may cause devices with specialized applications with only thousands of dollars in revenues to no longer be available to patients who need them. Premarketing submission administrative burdens, and substantial &#8220;user fees&#8221; or notified body review fees, represent a significant non-clinical and/or non-scientific barrier to new product introduction, resulting in lack of investment or delays to revenues from new or improved devices. &#160;The risks associated with such circumstances relate not only to substantial out-of-pocket costs, including potential litigation in millions of dollars, but also loss of business and a diversion of attention of key employees for an extended period of time from managing normal responsibilities, particularly in new product development and routine quality assurance activities. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Group Purchasing Organizations (GPOs) in the U.S. add non-productive costs, weaken the Company&#8217;s marketing and sales efforts and cause lower revenues by restricting access:</span> &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>GPOs, theoretically acting as bargaining agents for member hospitals, but actually collecting revenues from the companies that they are negotiating with, have made a concerted effort to turn medical devices that convey special patient safety advantages and better health outcomes, like UTMD&#8217;s, into undifferentiated commodities. GPOs have been granted an antitrust exemption by the U.S. Congress. In other industries their business model based on &#8220;kickbacks&#8221; would be a violation of law. &#160;Despite rhetoric otherwise, these bureaucratic entities do not recognize or understand the overall cost of care as it relates to safety and effectiveness of devices, and they create a substantial administrative burden that is primarily driven by collection of administrative fees. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">The Company&#8217;s business strategy may not be successful in the future:</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:8.55pt"></kbd>As the level of complexity and uncertainty in the medical device industry increases, evidenced, for example, by the unpredictable and overly cumbersome regulatory environment, the Company&#8217;s views of the future and product/ market strategy may not yield financial results consistent with the past.&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">As the healthcare industry becomes increasingly bureaucratic it puts smaller companies like UTMD at a competitive disadvantage: &#160;</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>An aging population and previously uncontrolled immigration are placing greater burdens on healthcare systems, particularly hospitals. The length of time and number of administrative steps required in adopting new products for use in hospitals has grown substantially in recent years. &#160;Smaller companies like UTMD typically do not have the administrative resources to deal with broad new administrative requirements, resulting in either loss of revenue or increased costs. &#160;As UTMD introduces new products it believes are safer and more effective, it may find itself excluded from certain clinical users because of the existence of long-term supply agreements for preexisting products, particularly from competitors which offer hospitals a broader range of products and services. &#160;Restrictions used by hospital administrators to limit clinician involvement in device purchasing decisions makes communicating UTMD&#8217;s clinical advantages more difficult. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">A product liability lawsuit could result in significant legal expenses and a large award against the Company: </span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s devices are frequently used in inherently risky situations to help physicians achieve a more positive outcome than what might otherwise be the case. &#160;In any lawsuit where an individual plaintiff suffered permanent physical injury, the possibility of a large award for damages exists whether or not a causal relationship exists. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">The Company&#8217;s reliance on third party distributors in some markets may result in less predictable revenues:</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD&#8217;s distributors have varying expertise in marketing and selling specialty medical devices. &#160;They also sell other devices that may result in less focus on the Company&#8217;s products. &#160;In some countries, notably China, Pakistan and India not subject to similarly rigorous standards, a distributor of UTMD&#8217;s products may eventually become a competitor with a cheaper but lower quality version of UTMD&#8217;s devices. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">The loss of one or more key employees could negatively affect UTMD performance:</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>In a small company with limited resources, the distraction or loss of key personnel at any point in time may be disruptive to performance. &#160;The Company&#8217;s benefits programs are key to recruiting and retaining talented employees. &#160;An increase in UTMD&#8217;s employee healthcare plan costs, for example, may cause the Company to have to reduce coverages which in turn represents a risk to retaining key employees.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">15</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Fluctuations in foreign currencies relative to the USD can result in significant differences in period-to-period financial results:</span></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Since a significant portion of UTMD&#8217;s sales are invoiced in foreign currencies and consolidated financial results are reported in USD terms, a stronger USD can have negative revenue effects. Conversely, a weaker USD would increase foreign subsidiary operating costs in USD terms. For the portion of sales to foreign entities made in fixed USD terms, a stronger USD makes the devices more expensive and weakens demand. For the portion invoiced in a foreign currency, not only USD-denominated sales are reduced, but also gross profits may be reduced because finished distributed devices and/or U.S. made raw materials and components are likely being purchased in fixed USD.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Trade restrictions and /or tariffs resulting from changing government geopolitical trade policies have the potential to disrupt UTMD&#8217;s supply chain and/or affect costs.</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a3"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 1B &#8211;&#160;UNRESOLVED STAFF COMMENTS</b></p>
<p style="font:10pt Times New Roman;margin:0">None</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a4"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 1C &#8211;&#160;CYBERSECURITY</b></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Risk Management and Strategy</p>
<p style="font:10pt Times New Roman;margin:0">The Company considers cybersecurity to be an important part of its overall business strategy and risk management. &#160;UTMD continuously monitors its information systems to assess, identify and manage risks from both inside and outside forces. &#160;Functional modules are fully-integrated, which provides for transaction checks and balances. &#160;Software systems have been validated for effectiveness of intended uses. &#160;Policies and procedures have been implemented which all employees acknowledge in writing, and agree to follow as a condition of employment. &#160;Access is documented and controlled by business function. &#160;Regular employee user training is conducted to promote awareness of outside threats and the importance of following procedures. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD utilizes state-of-art cybersecurity devices and software to timely identify and prevent intrusion from external actors. &#160;The corporate information systems operations manager continuously monitors activity, and reports weekly to the CEO. &#160;Additional sources for assessing security effectiveness are annual outside audits of the information technology environment, risk and performance assessments provided by vendors of the routers and firewalls used by the Company and the news media. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">There have been no events in at least the last thirty-two years that have been considered material enough to warrant changes to systems, processes or controls.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Governance</p>
<p style="font:10pt Times New Roman;margin:0">The Governance Committee of the Board of Directors maintains overall responsibility to oversee and assess the effectiveness of the Company&#8217;s cybersecurity strategy. &#160;The Board meets quarterly and any potential threats are reviewed and discussed at that time, unless the information systems team and/or the CEO decide earlier notification is warranted. &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">16</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<a id="a5"></a><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><b>ITEM 2 - PROPERTIES</b></p>
<p style="font:10pt Times New Roman;margin:0">Office and Manufacturing Facilities.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD is a vertically-integrated manufacturing company. &#160;Capabilities include silicone and plastics-forming operations including injection molding, insert and over-molding, thermoforming and extrusion; sensor production; manual and automated assembly of mechanical, electrical and electronic components; parts printing; various testing modalities; advanced packaging in clean room conditions; and a machine shop for mold-making and fabrication of assembly tools and fixtures. &#160;Capabilities also include an R&amp;D laboratory for both electronic and chemical processes, software development resources, communications and computer systems networked real time OUS, and administrative offices. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD owns all of its property and facilities with the exception of a long-term lease with 7 years remaining on one section of its Midvale parking lot. As of the beginning of 2025, the Company's operations were located in 105,000 square feet of facilities in Midvale, Utah, a 77,000 square foot facility in Athlone, County Westmeath, Ireland, a 38,600<span style="color:#00CCFF"> </span>square foot facility in Romsey, Hampshire, England, a 3,200 square foot facility in Castle Hill NSW, Australia, and a 4,700 square foot facility in Mississauga, Ontario, Canada. Manufacturing is currently carried out primarily in the Utah and Ireland facilities. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a6"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 3 - LEGAL PROCEEDINGS</b></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The Company may be a party from time to time in litigation incidental to its business. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall consolidated financial results. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a7"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 4 &#8211; MINE SAFETY DISCLOSURES</b></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>None.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">17</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART II</b></span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a8"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 5 - MARKET FOR REGISTRANT'S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Market Information.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD's common stock trades on the NASDAQ Global Market (stock symbol: UTMD). &#160;The following table sets forth the high and low sales price information as reported by NASDAQ for the periods indicated:&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;&#160;</p>
<table style="border-collapse:collapse;width:414pt"><tr style="height:7.2pt"><td valign="top" style="width:108pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="top" style="width:99pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="top" style="width:112.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:108pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">High</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:40.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Low</span></p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">High</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Low</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:108pt"><p style="font:10pt Times New Roman;margin:0">1st Quarter</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">85.76</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:40.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">68.00</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">101.41</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">80.75</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:108pt"><p style="font:10pt Times New Roman;margin:0">2nd Quarter</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">71.55</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:40.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">65.91</p>
</td><td valign="bottom" style="width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100.59</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">87.54</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:108pt"><p style="font:10pt Times New Roman;margin:0">3rd Quarter</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">77.33</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:40.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">65.60</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">99.46</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">83.63</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:108pt"><p style="font:10pt Times New Roman;margin:0">4th Quarter</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">68.99</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:40.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">60.39</p>
</td><td valign="bottom" style="width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">87.99</p>
</td><td valign="bottom" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">75.00</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Stockholders.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The number of beneficial stockholders of UTMD&#8217;s common stock as of March 3, 2025 was at least 2,000.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Dividends.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>The following sets forth cash dividends paid during the past two years:&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr style="height:7.2pt"><td colspan="2" valign="top" style="width:116.1pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Record Date</span></p>
</td><td valign="top" style="width:12pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</td><td valign="top" style="width:107.3pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Payable Date</span></p>
</td><td valign="top" style="width:25.6pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Per Share Amount</span></p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:116.1pt"><p style="font:10pt Times New Roman;margin:0">March 17, 2023</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:107.3pt"><p style="font:10pt Times New Roman;margin:0">April 4, 2023</p>
</td><td valign="top" style="background-color:#D3F0FE;width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:116.1pt"><p style="font:10pt Times New Roman;margin:0">June 16, 2023</p>
</td><td valign="top" style="width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:107.3pt"><p style="font:10pt Times New Roman;margin:0">July 6, 2023</p>
</td><td valign="top" style="width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:116.1pt"><p style="font:10pt Times New Roman;margin:0">September 15, 2023</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:107.3pt"><p style="font:10pt Times New Roman;margin:0">October 3, 2023</p>
</td><td valign="top" style="background-color:#D3F0FE;width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.295</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:116.1pt"><p style="font:10pt Times New Roman;margin:0">December 15, 2023</p>
</td><td valign="top" style="width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:107.3pt"><p style="font:10pt Times New Roman;margin:0">January 3, 2024</p>
</td><td valign="top" style="width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.300</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:116.1pt"><p style="font:10pt Times New Roman;margin:0">March 15, 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:107.3pt"><p style="font:10pt Times New Roman;margin:0">April 3, 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.300</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:116.1pt"><p style="font:10pt Times New Roman;margin:0">June 14, 2024</p>
</td><td valign="top" style="width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:107.3pt"><p style="font:10pt Times New Roman;margin:0">July 5, 2024</p>
</td><td valign="top" style="width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.300</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:116.1pt"><p style="font:10pt Times New Roman;margin:0">September 20, 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:107.3pt"><p style="font:10pt Times New Roman;margin:0">October 4, 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.300</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:116.1pt"><p style="font:10pt Times New Roman;margin:0">December 16, 2024</p>
</td><td valign="top" style="width:12pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:107.3pt"><p style="font:10pt Times New Roman;margin:0">January 3, 2025</p>
</td><td valign="top" style="width:25.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin:0">0.305</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:58.05pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</td><td colspan="4" valign="top" style="background-color:#D3F0FE;width:202.95pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">2023 total cash dividends paid per share</p>
</td><td valign="top" style="background-color:#D3F0FE;width:90.05pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">$ 1.1800</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:58.05pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</td><td colspan="4" valign="top" style="width:202.95pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">2024 total cash dividends paid per share</p>
</td><td valign="top" style="width:90.05pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">$ 1.2000</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Issuer Purchases of Equity Securities.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD did not purchase any of its own securities in 2023. &#160;In 2024, UTMD purchased 301,961 shares of its common stock for $19,968 including commissions and fees (an average price of $66.13/ share). &#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;margin-left:72.9pt"><tr style="height:7.2pt"><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center">2024 Calendar <span style="border-bottom:1px solid #000000">Quarter</span></p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center">Shares <span style="border-bottom:1px solid #000000">Repurchased</span></p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center">Average Cost <span style="border-bottom:1px solid #000000">Per Share</span></p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center">Total<br/><span style="border-bottom:1px solid #000000">Cost [K]</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">1Q 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">43,108</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">$ 69.368</p>
</td><td valign="top" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">$ 2,990</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">2Q 2024</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">95,107</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">67.326</p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">6,403</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">3Q 2024</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">58,377</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">66.220</p>
</td><td valign="top" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">3,866</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">4Q 2024</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right"><span style="border-bottom:1px solid #000000">105,369</span></p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">63.667</p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right"><span style="border-bottom:1px solid #000000">6,709</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Year Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">301,961</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">$ 66.127</p>
</td><td valign="top" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">$ 19,968</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>As a subsequent 2025 event, through March 4, 2025 UTMD purchased 36,909 additional shares of its common stock for $2,217 including commissions and fees (an average price of $60.08/ share).&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a9"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 6 - RESERVED</b></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">18</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<a id="a10"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 7 - MANAGEMENT'S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</b> </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:justify">Currency amounts are in thousands except per-share amounts and where noted. &#160;Currencies are abbreviated as follows: the U.S. Dollar (USD or $), the Great Britain Pound (GBP or &#163;), the Euro (EUR or &#8364;), the Australian Dollar (AUD or A$), the New Zealand Dollar (NZD) and the Canadian Dollar (CAD or C$).</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The following comments should be read in conjunction with the accompanying financial statements. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Overview</span>.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>In 2024, income statement measures of Utah Medical Products, Inc. (Nasdaq: UTMD) consolidated financial performance were substantially lower than in 2023, as follows. &#160;&#160;&#160; &#160;&#160;</p>
<table style="border-collapse:collapse;width:338.4pt"><tr><td valign="bottom" style="width:149.4pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-right:-6.5pt"><span style="border-bottom:1px solid #000000">Consolidated Income Statement</span></p>
</td><td valign="bottom" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="bottom" style="width:76.5pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:center">2024 Compared<br/><span style="border-bottom:1px solid #000000">to 2023</span></p>
</td><td valign="bottom" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Worldwide Revenues</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$40,903</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(18.6%)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$50,224</p>
</td></tr>
<tr><td valign="top" style="width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Gross Profit</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;24,143</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(19.6%)</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;30,038</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Operating Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;13,594</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(19.0%)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;16,777</p>
</td></tr>
<tr><td valign="top" style="width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Income Before Income Tax</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;16,802</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(16.4%)</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;20,089</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Net Income (US GAAP)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;13,874</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(16.6%)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> &#160;16,635</p>
</td></tr>
<tr><td valign="top" style="width:149.4pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Earnings Per Share (US GAAP)</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center"> $ &#160;3.961</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">(13.4%)</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">$ &#160;4.574</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Despite 19% lower sales, profit margins in 4Q and year 2024 held up compared to 4Q and year 2023, for reasons described later in this report:&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;width:461.6pt;margin-left:-1.7pt"><tr><td valign="top" style="width:191.6pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.3pt">&#160;</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">4Q 2024</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center"><span style="border-bottom:1px solid #000000">(Oct &#8211;&#160;Dec)</span></p>
</td><td valign="top" style="width:76.5pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center">4Q 2023</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center"><span style="border-bottom:1px solid #000000">(Oct-Dec)</span></p>
</td><td valign="top" style="width:66.7pt;border-left:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center">2024</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center"><span style="border-bottom:1px solid #000000">(Jan&#8211;Dec)</span></p>
</td><td valign="top" style="width:59.3pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center">2023</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;text-align:center"><span style="border-bottom:1px solid #000000">(Jan&#8211;Dec)</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:191.6pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.3pt">Gross Profit Margin (GP/ sales):</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">58.1%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">57.6% </p>
</td><td valign="top" style="background-color:#D3F0FE;width:66.7pt;border-left:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">59.0%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:59.3pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">59.8%</p>
</td></tr>
<tr><td valign="top" style="width:191.6pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.3pt">Operating Income Margin (OI/ sales):</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">32.0%</p>
</td><td valign="top" style="width:76.5pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">32.0%</p>
</td><td valign="top" style="width:66.7pt;border-left:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">33.2%</p>
</td><td valign="top" style="width:59.3pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">33.4%</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:191.6pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.3pt">Income Before Tax Margin (EBT/ sales):</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">39.5%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">40.7%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:66.7pt;border-left:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">41.1%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:59.3pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">40.0%</p>
</td></tr>
<tr><td valign="top" style="width:191.6pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.3pt">Net Income Margin (NI/ sales):</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">31.7%</p>
</td><td valign="top" style="width:76.5pt;border-right:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">34.8%</p>
</td><td valign="top" style="width:66.7pt;border-left:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">33.9%</p>
</td><td valign="top" style="width:59.3pt"><p style="font:10pt Times New Roman;margin:0;text-indent:7.1pt;margin-right:-6.3pt;text-align:center">33.1%</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Because revenue results for any given three-month period in comparison with a previous three-month period are not indicative of comparative results for the year as a whole, UTMD believes that investors should focus primarily on the annual results in 2024. The $9.3 million consolidated worldwide (WW) decline in annual revenues in 2024, which drove income statement results overall, can be aggregated in the three following categories:&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;width:454.5pt"><tr><td valign="top" style="width:201.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"> &#160;&#160;&#160;Revenue Category:</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024 Sales</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023 Sales</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:57pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Decline</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:73.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Portion of<br/><span style="border-bottom:1px solid #000000">Total Decline</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:201.45pt"><p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">1)</kbd>PendoTECH OEM&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right">2.7</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">8.6</p>
</td><td valign="top" style="background-color:#D3F0FE;width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right">(5.9)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right">64%</p>
</td></tr>
<tr><td valign="top" style="width:201.45pt"><p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">2)</kbd>OUS Distributors (excluding Filshie)&#160;</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right">8.7</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">10.8</p>
</td><td valign="top" style="width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right">(2.1)</p>
</td><td valign="top" style="width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right">22%</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:201.45pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">3)</kbd>WW Filshie&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right"><span style="border-bottom:1px solid #000000">10.8</span></p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right"><span style="border-bottom:1px solid #000000">12.3</span></p>
</td><td valign="top" style="background-color:#D3F0FE;width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right"><span style="border-bottom:1px solid #000000">(1.5)</span></p>
</td><td valign="top" style="background-color:#D3F0FE;width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right"><span style="border-bottom:1px solid #000000">16%</span></p>
</td></tr>
<tr><td valign="top" style="width:201.45pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">Total Above:</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right">22.2</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">31.7</p>
</td><td valign="top" style="width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right">(9.5)</p>
</td><td valign="top" style="width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right">102%</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:201.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">Above % of Total Below:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right">54%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">63%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right">102%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:201.45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">Total Consolidated WW Revenues:</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:5.25pt;text-align:right">40.9</p>
</td><td valign="top" style="width:61.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">50.2</p>
</td><td valign="top" style="width:57pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4.75pt;text-align:right">(9.3)</p>
</td><td valign="top" style="width:73.85pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3.75pt;text-align:right">100%</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The OUS (Outside the U.S.) Distributor category (item 2 above) included UTMD&#8217;s China distributor for blood pressure monitoring kits for which 2024 shipments were $2.4 million compared to $4.0 million in 2023, representing $1.6 million (75%) of the $2.1 million decline in OUS Distributor revenue (excluding Filshie OUS distributors).&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The decline in WW Filshie device revenues (item 3 above) can be divided into three parts:&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;margin-left:9.9pt"><tr style="height:7.2pt"><td valign="top" style="width:134.95pt"><p style="font:10pt Times New Roman;margin:0">Filshie Device Sales</p>
</td><td valign="top" style="width:61.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024 Sales <span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:66.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023 Sales <span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:87.55pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Revenue Decline <span style="border-bottom:1px solid #000000">[million $]</span></p>
</td><td valign="top" style="width:96.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024 Revenue<br/><span style="border-bottom:1px solid #000000">Decline from 2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:134.95pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Domestic Direct (to U.S. medical facilities)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">4.0</p>
</td><td valign="top" style="background-color:#D3F0FE;width:66.15pt"><p style="font:10pt Times New Roman;margin:0;margin-right:9pt;text-align:right">4.8</p>
</td><td valign="top" style="background-color:#D3F0FE;width:87.55pt"><p style="font:10pt Times New Roman;margin:0;margin-right:13.5pt;text-align:right">(0.8)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:96.05pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">(15%)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:134.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">OUS Direct (to medical facilities outside the U.S.)</p>
</td><td valign="top" style="width:61.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">5.3</p>
</td><td valign="top" style="width:66.15pt"><p style="font:10pt Times New Roman;margin:0;margin-right:9pt;text-align:right">5.8</p>
</td><td valign="top" style="width:87.55pt"><p style="font:10pt Times New Roman;margin:0;margin-right:13.5pt;text-align:right">(0.5)</p>
</td><td valign="top" style="width:96.05pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">( 9%)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:134.95pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">OUS distributors</p>
</td><td valign="top" style="background-color:#D3F0FE;width:61.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">1.5</p>
</td><td valign="top" style="background-color:#D3F0FE;width:66.15pt"><p style="font:10pt Times New Roman;margin:0;margin-right:9pt;text-align:right">1.7</p>
</td><td valign="top" style="background-color:#D3F0FE;width:87.55pt"><p style="font:10pt Times New Roman;margin:0;margin-right:13.5pt;text-align:right">(0.2)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:96.05pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">(14%)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:134.95pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Total Filshie Revenues:</p>
</td><td valign="top" style="width:61.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">10.8</p>
</td><td valign="top" style="width:66.15pt"><p style="font:10pt Times New Roman;margin:0;margin-right:9pt;text-align:right">12.3</p>
</td><td valign="top" style="width:87.55pt"><p style="font:10pt Times New Roman;margin:0;margin-right:13.5pt;text-align:right">(1.5)</p>
</td><td valign="top" style="width:96.05pt"><p style="font:10pt Times New Roman;margin:0;margin-right:7.5pt;text-align:right">(12%)</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>OUS Direct Filshie revenues were sales by UTMD subsidiaries directly to medical facilities in the UK, France, Ireland, Canada, Australia and New Zealand. Foreign currency exchange (FX) rate changes had a minimally positive impact on 2024 USD revenues compared to 2023.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">19</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Despite additional cost-of-living adjustments for employees in 2024 and continued inflation in raw material costs, UTMD was nevertheless able to maintain its Gross Profit margin in 2024 by reducing manufacturing personnel, including closing down the assembly swing shift in Utah. The $1.6 million lower sales to UTMD&#8217;s China distributor for blood pressure monitoring kits, $1.3 million of which decline occurred in 4Q 2024 alone, actually helped UTMD&#8217;s average Gross Profit margin as that sales category has the lowest margin in UTMD&#8217;s business. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>UTMD&#8217;s Operating Income margin was essentially the same in both years, despite retaining its critical mass of sales and marketing (S&amp;M), product development (R&amp;D) and general and administrative (G&amp;A) resources at a higher cost. This occurred because the 2023 $3,684 G&amp;A expense from amortization of the $21 million identifiable intangible asset (IIA) associated with UTMD&#8217;s 2019 purchase of CooperSurgical Inc&#8217;s (CSI&#8217;s) exclusive right to distribute the Filshie Clip System in the U.S., which was zero in 2024, offset the slightly lower Gross Profit margin as well as higher litigation expenses also captured in G&amp;A expense. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>On the other hand, non-operating income was lower than in the prior year as a result of a new excise tax levied on share repurchases in the U.S. and the fact that UTMD Ltd in Ireland received $232 less income in 2024 from renting unused warehouse space. EPS benefited from UTMD repurchasing over 8% of its shares during the year.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Foreign currency exchange (FX) rates for Balance Sheet purposes are the applicable rates at the end of each reporting period. The FX rates from the applicable foreign currency to USD for assets and liabilities at the end of calendar year 2024 compared to the end of 2023 and the end of 3Q 2024 follow:&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse"><tr><td valign="top" style="width:78.6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:52.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">12-31-24</span></p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">12-31-23</span></p>
</td><td valign="top" style="width:67.5pt;border-right:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Change</span></p>
</td><td valign="top" style="width:58.5pt;border-left:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">9-30-24</span></p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Change</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:78.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">GBP</p>
</td><td valign="top" style="background-color:#D3F0FE;width:52.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.25209</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.27386</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt;border-right:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;(1.7%)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt;border-left:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.33958</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> (6.5%)</p>
</td></tr>
<tr><td valign="top" style="width:78.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">EUR</p>
</td><td valign="top" style="width:52.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.03505</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.10593</p>
</td><td valign="top" style="width:67.5pt;border-right:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;(6.4%)</p>
</td><td valign="top" style="width:58.5pt;border-left:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.11429</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> (7.1%)</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:78.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">AUD</p>
</td><td valign="top" style="background-color:#D3F0FE;width:52.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.61834</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.68248</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt;border-right:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;(9.4%)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt;border-left:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.69312</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">(10.8%)</p>
</td></tr>
<tr><td valign="top" style="width:78.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">CAD</p>
</td><td valign="top" style="width:52.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.69428</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.75733</p>
</td><td valign="top" style="width:67.5pt;border-right:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;(8.3%)</p>
</td><td valign="top" style="width:58.5pt;border-left:1.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.73987</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;(6.2%)</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Despite $4,260 in stockholder dividends and $19,968 in share repurchases in 2024, which reduced both cash and Stockholders&#8217; Equity, measures of the Company&#8217;s liquidity and overall financial condition remained strong as of the end of 2024 compared to the end of 2023. &#160;Despite year-end working capital declining $8,985, the Company&#8217;s current ratio improved to 25.6 at the end of 2024 from 22.6 at the end of 2023. As a result of continued strong positive cash flow from normal operations, 2024 year-end Stockholders&#8217; Equity declined just $10,886 despite the $24,228 share repurchases and cash dividends. In comparison, UTMD paid $4,282 in stockholder cash dividends and made no share repurchases in 2023. The Company also used $231 in cash in 2024 along with $639 in 2023 to invest in new manufacturing equipment and fixtures, as well as maintaining existing Property, Plant and Equipment (PP&amp;E) in good working order. Two-year net capital expenditures for PP&amp;E were $511 less than depreciation. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Productivity of Fixed Assets and Working Capital Assets</span>. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Assets</span>.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Year-end 2024 total consolidated assets were $122,538 comprised of $96,330 in current assets, $9,763 in consolidated net PP&amp;E and $16,445 in net intangible assets. &#160;This compares to $135,458 total assets at the end of 2023 comprised of $106,269 in current assets, $10,551 in consolidated net PP&amp;E and $18,637 in net intangible assets. Total asset turns (total consolidated sales divided by average total assets for the year) in 2024 were 32% compared to 39% in 2023, reflecting the large decrease in sales. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Current assets decreased $9,938 due to the $9,892 decrease in year-end cash and investments and $770 lower inventories, offset by $704 higher accounts and other receivables and $20 higher other current assets. Year-end 2024 and 2023 cash and investment balances were $82,976 and $92,869, representing 68% and 69% of total assets, respectively. &#160;Net (after allowance for doubtful accounts) year-end trade accounts receivable (A/R) balances were $760 higher at the end of 2024 compared to 2023, despite 4Q 2024 sales $3,176 lower than in 4Q 2023.  Ending 2024 average days in A/R were 40 based on 4Q trade sales, instead of 24 days at the end of 2023. A/R over 90 days from invoice date increased from 3.3% of total A/R at the end of 2023 to 6.4% at the end of 2024. &#160;The Company believes any older A/R will be collected or are within its reserve balances for uncollectible amounts. &#160;Inventories net of reserves for obsolescence at 2024 year-end were 8% lower from the end of 2023. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Working capital (current assets minus current liabilities) at year-end 2024 was 9% lower at $92,574 compared to $101,559 at year-end 2023, primarily due to using $19,968 cash for share repurchases. The end of 2024 working capital exceeds UTMD&#8217;s needs for normal operations in an uncertain economic environment, funding of future organic growth and timely payment of accrued tax liabilities. Management believes that, despite the negative impact on Return on Stockholders&#8217; Equity, retaining a high cash balance increases its &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">20</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">likelihood of being able to allow for substantial funding of any future accretive acquisition without diluting stockholder interest, as well as repurchase of UTMD shares while paying a consistent dividend, and will leverage stockholder value in the long term.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>December 31, 2024 net $9,763 total PP&amp;E includes Utah, Ireland and England manufacturing molds, production tooling and equipment, test equipment, and product development laboratory equipment. &#160;In addition, PP&amp;E includes computers and software, warehouse equipment, furniture and fixtures, facilities and real estate for all five locations in Utah, Ireland, UK, Canada and Australia. Manufacturing facilities in Utah, Ireland and the UK are standalone buildings with a combined 220,000 square feet on 15 acres of land. &#160;The distribution facilities in Australia and Canada with a combined 8,000 square feet are part of larger industrial condominiums. &#160;Management estimates the fair market value of the five owned facilities to be at least $35 million excluding the contents, the fungible value of which increases stockholder enterprise value relative to most of UTMD&#8217;s industry peers which lease their facilities.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Compared to the end of 2023, ending 2024 net consolidated PP&amp;E (depreciated book value of all fixed assets) declined $789 as a result of the combination of capital expenditures of $231, depreciation of $730 and the effect of foreign currency exchange (FX) rates on year-end foreign subsidiary asset balances as OUS fixed assets were depreciated further by a stronger USD.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The following end-of-year FX rates to USD were applied to assets and liabilities of each applicable foreign subsidiary:&#160;</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</td><td valign="top" style="width:58.1pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right"><span style="border-bottom:1px solid #000000">12-31-24</span></p>
</td><td valign="top" style="width:13.9pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-align:right"><span style="border-bottom:1px solid #000000">12-31-23</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0">EUR</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.0351</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.1059</p>
</td></tr>
<tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">GBP</p>
</td><td valign="top" style="width:58.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.2521</p>
</td><td valign="top" style="width:13.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1.2739</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0">AUD</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.6183</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.6825</p>
</td></tr>
<tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">CAD</p>
</td><td valign="top" style="width:58.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.6943</p>
</td><td valign="top" style="width:13.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.7573</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>The year-end 2024 net book value (after accumulated depreciation) of consolidated PP&amp;E was 29% of purchase cost. &#160;End-of-year PP&amp;E turns (Net Sales divided by Net PP&amp;E) was 4.2 in 2024 compared to 4.8 in 2023 due to 19% lower 2024 sales together with lower USD asset values of foreign subsidiaries.  A future leverage in productivity of fixed assets which will not have to be further increased to support new business activity will be a source of incremental profitability. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Net intangible assets (after accumulated amortization) are comprised of the capitalized costs of obtaining patents and other intellectual property, as well as the value of identifiable intangible assets (IIA) and goodwill resulting from acquisitions. Net intangible assets were $16,445 (13% of total assets) at the end of 2024 compared to $18,637 (14% of total assets) at the end of 2023. &#160;Per US GAAP, intangible assets are categorized as either 1) IIA, which are amortized over the estimated useful life of the assets, or 2) goodwill, which is not amortized or expensed until the associated economic value of the acquired asset becomes impaired. Those two categories of Femcare intangibles at year-end 2024 were net IIA of $2,415 and goodwill of $6,389. The accumulated amortization of Femcare IIA as of December 31, 2024 since the March 18, 2011 acquisition was $27,632. The remaining Femcare IIA will be fully amortized in March 2026. The goodwill portion of intangible assets resulting from the Femcare acquisition, which is not amortized, decreased $111 due to a weaker GBP at year-end, i.e. the different FX rate on fixed goodwill in GBP terms. In early 2019, UTMD acquired an additional $21,000 IIA from the purchase of the remaining life of exclusive U.S. distribution rights for the Filshie Clip System from CSI, all of which was amortized before the end of 2023. UTMD&#8217;s goodwill balance from prior acquisitions including Femcare, Columbia Medical, Gesco and Abcorp was $13,580 at the end of 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Because the products associated with UTMD&#8217;s acquisitions of Columbia Medical in 1997, Gesco in 1998, Abcorp in 2004 and Femcare in 2011 continue to be viable parts of UTMD&#8217;s overall business, UTMD does not expect the current goodwill value associated with the four acquisitions to become impaired in 2025. Amortization of IIA was $2,065 in 2024 compared to $5,692 in 2023. The difference was mainly due to the CSI IIA becoming fully-amortized in October 2023, resulting in $3,684 lower 2024 operating expense. In other words, the 2024 non-cash amortization expense of CSI IIA was zero compared to $3,684 in 2023. &#160;The Femcare IIA amortization expense was the same in both 2024 and 2023 at &#163;1,589. &#160;But because of a difference in FX rates, the 2024 non-cash amortization expense of Femcare IIA was $2,030 compared to $1,977 in 2023. The 2025 non-cash amortization expense (included as part of consolidated G&amp;A operating expenses) of Femcare IIA will also be &#163;1,589. &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">21</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Liabilities</span>.  &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>As a reminder, payments for the Federal and State repatriation (REPAT) tax liability which resulted from the U.S. TCJA enacted in 2017 were 8% of the respective tax liability per year for the first five years, 15% in the sixth year, 20% in the seventh year and will be 25% in the eighth year. UTMD&#8217;s total REPAT tax liability was $2,792. Calendar year 2025 represents the eighth year, so $698 is the current liability at 25% of the total liability, the final payment year.  &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;Year-end 2024 current liabilities were $953 lower than at the end of 2023 despite the $140 higher REPAT tax current liability for the ensuing year. Ending accrued liabilities were $1,020 lower due primarily to a $619 lower consolidated accrued income tax liability, $135 lower accrued employee profit-sharing bonuses, a $146 lower litigation expense reserve and $238 lower customer deposits. Total liabilities were $2,034 lower at the end of 2024 compared to the end of 2023. The resulting 2024 year-end total debt ratio (total liabilities/ total assets) was just 4% compared to 5% at the end of 2023. &#160;UTMD has no bank debt.  </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"> &#160;The year-end 2024 Deferred Tax Liability balance created as a result of the fifteen-year deferred tax consequence of the amortization of Femcare&#8217;s IIA was $604, down from $1,120 at the end of 2023. The difference in the $516 book decline compared to the $508 tax effect of 25% (current UK tax rate) times $2,031 in 2024 amortization of Femcare IIA was due to the difference in the GBP FX rate on the remaining DTL balance at the end of 2024 as well as the USD/GBP currency exchange conversion of the IIA amortization during 2024. In addition to liabilities stated on the balance sheet, UTMD has operating lease and purchase obligations described in Note 14 and Note 12, respectively, to the financial statements. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"><span style="border-bottom:1px solid #000000">Results of Operations</span>.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:9pt">a)</kbd><kbd style="margin-left:21.3pt"></kbd><span style="border-bottom:1px solid #000000">Revenues</span>. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Under accounting standards applicable for 2024, the Company believed that revenue should be recognized at the time of shipment as title generally passes to the customer at the time of shipment, or completion of services performed under contract. &#160;Revenue recognized by UTMD is based upon documented arrangements and fixed contracts in which the selling price is fixed prior to acceptance and completion of an order. &#160;Revenue from product or service sales is generally recognized at the time the product is shipped or service completed and invoiced, and collectability is reasonably assured. &#160;Over 99% of UTMD&#8217;s revenue is recognized at the time UTMD ships a physical device to a customer&#8217;s designated location, where the selling price for the item shipped was agreed prior to UTMD&#8217;s acceptance and completion of the customer order. There are no post-shipment obligations which have been or are expected to be material to financial results. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>There are circumstances under which revenue may be recognized when product is not shipped, which have met the criteria of ASC 606: &#160;the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for other companies. &#160;This revenue is recognized when UTMD&#8217;s service has been completed according to a fixed contractual agreement.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Terms of sale are established in advance of UTMD&#8217;s acceptance of customer orders. In the U.S., Ireland, UK, France, Australia, New Zealand and Canada, UTMD generally accepts orders directly from and ships directly to end-user clinical facilities, as well as third party medical/surgical distributors, under UTMD&#8217;s Standard Terms and Conditions (T&amp;C) of Sale. About 14% of UTMD&#8217;s 2024 domestic end-user sales went through third party med/surg distributors which contract separately with clinical facilities to provide purchasing, storage and scheduled delivery functions for the applicable facility. &#160;UTMD&#8217;s T&amp;C of Sale to end-user medical facilities are substantially the same in the U.S., Canada, Ireland, UK, France, Australia and New Zealand.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>UTMD may allow separate discounted pricing agreements with a specific clinical facility or group of affiliated facilities based on volume of purchases. &#160;Pricing agreements which are documented arrangements with clinical facilities, or groups of affiliated facilities, if applicable, are established in advance of orders accepted or shipments made. &#160;For existing customers, past actual shipment volumes typically determine the fixed price by part number for the next agreement period. For new customers, the customer&#8217;s best estimate of volume is usually accepted by UTMD for determining the ensuing fixed prices for the agreement period. Prices are not adjusted after an order is accepted. For the sake of clarity, the separate pricing agreements with clinical facilities based on volume of purchases disclosure is not inconsistent with UTMD&#8217;s disclosure above that the selling price is fixed prior to the acceptance of a specific customer order. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.1pt"></kbd>UTMD&#8217;s global consolidated trade sales are comprised of domestic and OUS sales. Domestic sales in 2024 included 1) direct domestic sales, sales of finished devices to end-user facilities and med/surg distributors in the U.S., and 2) domestic OEM sales, sales of components or finished products, which may not be medical devices, to other companies for inclusion in their products. &#160;OUS sales are export sales from UTMD in the &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">22</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">U.S. to customers outside the U.S. invoiced in USD, and sales from UTMD subsidiaries in Ireland, Canada, Australia and the UK which may be invoiced in EUR, GBP, CAD, AUD, NZD or USD. &#160;The term &#8220;trade&#8221; means sales to customers which are not part of UTMD. Each UTMD manufacturing entity had 2024 intercompany sales of components and/or finished devices to other UTMD entities. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:2pt;margin-right:-6.3pt"><kbd style="margin-left:9pt"></kbd>The following table shows the 2024 USD-denominated revenues by sales channel compared to 2023. &#160;Because domestic sales in foreign countries were invoiced in native currencies, the comparison in USD terms includes the change in foreign currency translation (FX) rates. In other words, just the FX rate relative to the USD in 2024 compared to 2023 reduced Canada domestic sales by 1.3% and Australia sales by 0.9%. On the other hand, the FX rate difference increased Ireland domestic sales by 0.4%, UK domestic sales by 2.8% and France domestic sales by 0.1%. &#160;&#160;</p>
<table style="border-collapse:collapse;width:395.9pt"><tr style="height:25.9pt"><td valign="bottom" style="width:173.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">Revenue [USD denominated]</p>
</td><td valign="bottom" style="width:71.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">2024</p>
</td><td valign="bottom" style="width:80.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024 Compared to 2023</p>
</td><td valign="bottom" style="width:70.15pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">2023</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="width:173.65pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">&#160;</p>
</td><td valign="top" style="width:71.2pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">&#160;</p>
</td><td valign="top" style="width:80.9pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">&#160;</p>
</td><td valign="top" style="width:70.15pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:center">&#160;</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="background-color:#D3F0FE;width:173.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">U.S. domestic &#160;(excluding OEM)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:71.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160; $ 18,855</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:80.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;(4.6%)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:70.15pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">$ 19,758</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Canada domestic</p>
</td><td valign="bottom" style="width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;&#160;&#160;955</p>
</td><td valign="bottom" style="width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;(13.4%)</p>
</td><td valign="bottom" style="width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;1,102</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="background-color:#D3F0FE;width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Ireland domestic</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;&#160;&#160;544</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">+7.0%</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;&#160;&#160;&#160;508</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">UK domestic</p>
</td><td valign="bottom" style="width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;3,420</p>
</td><td valign="bottom" style="width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> +3.0%</p>
</td><td valign="bottom" style="width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;&#160;3,320</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="background-color:#D3F0FE;width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">France domestic</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;1,092</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">  (17.2%)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;&#160;1,318</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">Australia domestic</p>
</td><td valign="bottom" style="width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;&#160;&#160;866</p>
</td><td valign="bottom" style="width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;(17.5%)</p>
</td><td valign="bottom" style="width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;&#160;1,050</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="background-color:#D3F0FE;width:173.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:right">Subtotal, Direct to End-User:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:71.2pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;$ 25,732</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:80.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160; &#160;(4.9%)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:70.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">$ 27,056</p>
</td></tr>
<tr style="height:21.1pt"><td valign="top" style="width:173.65pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">All Other OUS (Sales to Int&#8217;l Distributors)</p>
</td><td valign="bottom" style="width:71.2pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;10,582</p>
</td><td valign="bottom" style="width:80.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">  &#160;(28.1%)</p>
</td><td valign="bottom" style="width:70.15pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;14,722</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="background-color:#D3F0FE;width:173.65pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt">U.S. OEM Sales</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:71.2pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> 4,589 </p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:80.9pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;(45.7%)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:70.15pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;&#160;&#160;&#160;8,446</p>
</td></tr>
<tr style="height:10.15pt"><td valign="top" style="width:173.65pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-6.5pt;text-align:right">Worldwide Revenues</p>
</td><td valign="bottom" style="width:71.2pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.75pt;text-align:right"> &#160;&#160;$ 40,903</p>
</td><td valign="bottom" style="width:80.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right"> &#160;(18.6%)</p>
</td><td valign="bottom" style="width:70.15pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:2.5pt;text-align:right">$ 50,224</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>In summary, UTMD total worldwide (WW) consolidated USD sales in 2024 at $40,903 were $9,321 (18.6%) lower than in 2023 at $50,224. The decline essentially resulted from the fact that 2024 WW shipments by UTMD to its largest OEM customer were $5,938 (68.8%) lower.  Total U.S. domestic sales including OEM were $4,759 (16.9%) lower in 2024 at $23,444 compared to $28,204 in 2023. OUS sales including sales to foreign distributors were $4,562 (20.7%) lower at $17,458 compared to $22,020 in 2023. &#160;Constant currency OUS sales were 21.2% lower.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Domestic Sales</span>.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Domestic U.S. sales in 2024, which were $4,759 (16.9%) lower than in 2023, were $23,444 (57.3% of total consolidated sales) compared to $28,204 (56.2% of total sales) in 2023. All three categories of domestic sales were lower, led by U.S. OEM sales which were $3,857 (45.7%) lower than in 2023. &#160;Domestic sales to UTMD&#8217;s biopharma OEM customer PendoTECH were $4,157 (64.7%) lower. Aggregate sales to 133 other U.S. OEM customers were $300 higher. Domestic Filshie device sales, representing 17.3% of total domestic sales, were $729 (15.3%) lower in 2024 compared to 2023.  &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Direct device sales other than Filshie, representing 63.2% of total domestic sales, were $173 (1.2%) lower in 2024 than in 2023. UTMD expects 2025 domestic direct sales of its well-established devices to increase at a low single-digit percentage rate.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Filshie 2024 sales in the U.S., which represented 17% of domestic direct sales, declined $729 (15%) compared to 2023. Although a partial change in practice favoring salpingectomies over tubal ligation for permanent sterilization has continued, an article in the &#8220;Green Journal&#8221; of the American College of Obstetrics and Gynecology lamented to physician members that patients are tending to rely more on social media than on informed input from their own doctors to make clinical choices. Consequently, there appears to be some negative impact on patient choice as a result of attorneys advertising for complainants under false pretenses on social media, which underscores the importance of winning the current product liability lawsuits. Nevertheless, UTMD expects U.S. Filshie device sales in 2025 will not decline as much as happened in 2024, based on the well-established safety and effectiveness of the device. &#160;&#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Domestic OEM sales in 2024 were $3,857 (45.7%) lower than in 2023, representing 20% of total U.S. domestic sales compared to 30% in 2023. &#160;UTMD sold components and finished devices to 134 different U.S. companies in 2024 compared to 129 companies in 2023 for use in their product-market offerings. &#160;Sales to 133 OEM customers excluding PendoTECH were $300 (+15%) higher. &#160;U.S. sales to PendoTECH were $4,157 (65%) lower. UTMD&#8217;s largest OEM customer markets biopharmaceutical manufacturing control systems which previously exclusively utilized UTMD&#8217;s pressure monitoring sensors and other components. &#160;The good news is that domestic sales to PendoTECH in 2024 were $2,266. &#160;The bad news, looking forward to 2025, is &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">23</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">that UTMD expects domestic demand from this customer may decline another $2 million as it continues to integrate manufacturing of its own marketed products. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-indent:13.5pt">OUS USD-denominated sales in 2024 were $4,562 (20.7%) lower at $17,458 compared to $22,020 in 2023. Sales invoiced in foreign currencies, which were $12,911 when converted to USD, represented 74% of OUS sales and 32% of consolidated total sales. The stronger GBP and EUR currencies added $113 in net OUS USD-denominated foreign currency sales compared to USD sales using the prior year&#8217;s foreign currency exchange (FX) rates (constant currency terms). &#160;FX rates for income statement purposes are transaction-weighted averages. The weighted-average FX rates from the applicable foreign currency to USD during 2024 and 2023 for revenue purposes follow:</p>
<table style="margin:0 auto;border-collapse:collapse"><tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:68.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:41.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Change</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0">GBP</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:68.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.2772</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.2428</p>
</td><td valign="top" style="background-color:#D3F0FE;width:41.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">+ 2.8%</p>
</td></tr>
<tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">EUR</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:68.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.0846</p>
</td><td valign="top" style="width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">1.0808</p>
</td><td valign="top" style="width:41.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">+ 0.4%</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0">AUD</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:68.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.6600</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.6660</p>
</td><td valign="top" style="background-color:#D3F0FE;width:41.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">( 0.9%)</p>
</td></tr>
<tr><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0">CAD</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:68.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.7313</p>
</td><td valign="top" style="width:75.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">0.7409</p>
</td><td valign="top" style="width:41.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">( 1.3%)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-indent:13.5pt">The combined weighted-average favorable FX impact on 2024 OUS sales was 0.7% (+0.3% of total consolidated 2024 sales). &#160;In constant currency terms, OUS sales in 2024 were 21.2% lower than OUS sales in 2023. The portion of OUS sales invoiced in foreign currencies in USD terms was 32% of total consolidated 2024 USD sales compared to 30% in 2023. Including the impact of changed FX rates, OUS 2024 direct to end-user sales in USD terms were 7% higher in Ireland, 13% lower in Canada, 17% lower in France and 3% higher in the UK. Direct to end-user sales in Australia, which included New Zealand, were 18% lower. USD denominated sales to OUS distributors were $2,359 (18.9%) lower in 2024 than in 2023. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-right:-6.25pt"><kbd style="margin-left:9pt"></kbd>Seventy-four percent of (USD denominated) 2024 OUS sales were invoiced in foreign currencies compared to 68% in 2023. As a portion of total USD WW consolidated sales, 32% of UTMD&#8217;s USD-equivalent sales were invoiced in foreign currencies in 2023 compared to 30% in 2023. The GBP, EUR, AUD and CAD converted sales represented 9%, 18%, 2% and 2% of total 2024 consolidated USD sales, respectively. &#160;This compares to 8%, 18%, 2% and 2% of total 2023 USD sales. &#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>USD-denominated trade (excludes intercompany) sales of devices to OUS customers (excluding France) by UTMD&#8217;s Ireland facility (UTMD Ltd) were $7,081 in 2024 (34% lower) compared to $10,686 in 2023. Explaining 93% of the decline, Ireland OUS sales to PendoTECH were $1,781 (81%) lower and sales to UTMD&#8217;s largest distributor of BPM kits located in China were $1,587 (40%) lower. &#160;In addition, UTMD Ltd also sold devices that it had manufactured directly to France in 2024 due to BREXIT, rather than by Femcare in the UK. USD-denominated sales to France in 2024 were $1,092 (17% lower) compared to $1,319 in 2023. The FX rate difference in 2024 relative to 2023 increased Ireland&#8217;s USD-denominated sales by $38. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>In 2024, UTMD&#8217;s UK subsidiary, Femcare Ltd., had $3,470 trade sales of devices to domestic UK and certain international distributor customers, which was 4% higher compared to $3,347 in 2023. The FX rate difference increased the UK&#8217;s USD-denominated sales in 2024 by $91. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>USD-denominated sales of devices to end-users in Australia and New Zealand by Femcare&#8217;s Australia distribution subsidiary (Femcare Australia Pty Ltd) were $866 (18% lower) in 2024 compared to $1,050 in 2023. &#160;A weaker AUD in 2024 reduced USD-denominated Australia sales by $8.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>UTMD&#8217;s Canada distribution subsidiary (Utah Medical Products Canada, Inc.) USD-denominated sales of devices to end-users in Canada in 2024 were $955 (13% lower) compared to $1,102 in 2023. A weaker CAD reduced Canada sales by $13. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>UTMD groups its revenues into four general product categories: 1) obstetrics, comprised of labor and delivery management tools for monitoring fetal and maternal well-being, for reducing risk in performing difficult delivery procedures and for improving clinician and patient safety; &#160;2) gynecology/ electrosurgery/ urology, comprised of tools for gynecological procedures associated primarily with cervical/ uterine disease including LETZ, endometrial tissue sampling, transvaginal uterine sonography, diagnostic laparoscopy, surgical contraception and other MIS procedures; specialty excision and incision tools; conservative urinary incontinence therapy devices; and urology surgical procedure devices; &#160;3) neonatal critical care, comprised of devices that provide developmentally-friendly care to the most critically ill babies, including providing vascular access, enteral feeding, administering vital fluids, oxygen therapy while maintaining a neutral thermal environment, providing protection and assisting in specialized applications; and  4) blood pressure monitoring/ accessories/ other, comprised of specialized transducers and components as well as molded parts and assemblies sold on an OEM basis to other companies. &#160;In these four categories, UTMD&#8217;s primary revenue contributors enjoy significant brand awareness by clinical users.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">24</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:10.8pt"></kbd>Global revenues by product category:&#160;</p>
<table style="border-collapse:collapse;width:354.6pt;margin-left:0.9pt"><tr><td valign="top" style="width:193.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">%</span></p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">%</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:193.5pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 4,260</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;10</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 4,592</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;9</p>
</td></tr>
<tr><td valign="top" style="width:193.5pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,707</p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;51</p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">22,300</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">44</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:193.5pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,869</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;17</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">6,863</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">14</p>
</td></tr>
<tr><td valign="top" style="width:193.5pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories*</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">9,067</span></p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000"> &#160;22</span></p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000"> &#160;16,469</span></p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">33</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:193.5pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 40,903</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 50,224</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:10.8pt"></kbd>OUS revenues by product category:&#160;</p>
<table style="border-collapse:collapse;width:355.5pt"><tr><td valign="top" style="width:194.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">%</span></p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">%</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:194.4pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ &#160;&#160;821</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;&#160;&#160;5</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> $ 1,041</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;5</p>
</td></tr>
<tr><td valign="top" style="width:194.4pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">11,390</p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;65</p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> 11,992</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">54</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:194.4pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,523</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;&#160;&#160;9</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;&#160;1,678</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"> &#160;8</p>
</td></tr>
<tr><td valign="top" style="width:194.4pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories*</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">3,724</span></p>
</td><td valign="top" style="width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000"> &#160;21</span></p>
</td><td valign="top" style="width:53.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000"> &#160;&#160;7,309</span></p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">33</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:194.4pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 17,458</p>
</td><td valign="top" style="background-color:#D3F0FE;width:31.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100</p>
</td><td valign="top" style="background-color:#D3F0FE;width:53.1pt"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.3pt;text-align:right">$ 22,020</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">100</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt"><kbd style="margin-left:24.3pt"></kbd>*includes molded components and finished medical and non-medical devices sold to OEM customers.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Looking forward to 2025 revenues: WW sales to PendoTECH, UTMD&#8217;s largest OEM customer, which were $2.7 million in 2024, declined from $8.6 million in 2023 and from $11.6 million in 2022. &#160;Since the current order backlog from PendoTECH for shipments in 2025 is just $151, not expecting additional orders, PendoTECH revenues may be an additional $2.5 million lower in 2025 compared to 2024. &#160;WW Filshie revenues declined to $10.8 million in 2024 from $12.3 million in 2023. &#160;Although a further decline in the U.S is expected in 2025 while lawsuits are unresolved, UTMD expects that increases OUS will offset that and 2025 Filshie revenues will be about the same as in 2024. &#160;UTMD&#8217;s largest OUS distributor located in China, representing $2.4 million in 2024 sales of BPM kits manufactured in Ireland, has placed its annual order for 2025 which is the same as in 2024. &#160;Expecting some low single-digit increases in UTMD&#8217;s remaining established business as well as initial modest direct sales of biopharma pressure sensors, not including release of any new products or price increases, management is projecting an overall revenue decrease of about $2 million (about 5%) in 2025 compared to 2024. &#160;&#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd><span style="border-bottom:1px solid #000000">Gross Profit (GP)</span>. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>UTMD&#8217;s 2024 consolidated GP, the surplus after subtracting costs of manufacturing, which includes purchasing and transporting raw materials, forming components, assembling, inspecting, testing, packaging and sterilizing products, from net revenues, was $24,143 (59.0% of sales) compared to $30,038 (59.8% of sales) in 2023.  GP in 2024 was $5,895 (19.6%) lower with an 18.6% decrease in revenues.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;text-indent:13.5pt">The Gross Profit Margin (GPM), which is GP divided by sales, although still healthy, contracted 0.8 percentage points in 2024 due to the fact that many fixed manufacturing overhead costs increased while sales decreased. While the 2024 GP margin decline was less than projected in UTMD&#8217;s 2023 SEC Form 10-K, a further overhead margin dilution effect is expected in 2025 because management has decided to not reduce important manufacturing overhead resources in the same proportion as the expected 2025 decline in sales. Doing so would limit future UTMD capabilities to grow the Company. Although supplier costs for raw materials have continued to increase and the Company implemented further cost-of-living salary adjustments during 2024 for employees, management expects to be able to control the productivity of variable manufacturing costs in 2025 consistent with the past. &#160;In addition, quality assurance costs included in manufacturing overhead are projected to be higher from implementing required clinical reviews under the new EU Medical Device Regulation for devices used OUS. Except on a selective basis after experiencing further variable cost increases, UTMD does not intend to increase prices to customers in 2025. The resulting 2025 GPM might be more than another full percentage point lower than in 2024, resulting in a decline in GP in the range of 7-9%. &#160;&#160; </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd> UTMD&#8217;s Ireland subsidiary&#8217;s (UTMD Ltd&#8217;s) 2024 GP was EUR 6,283 (22.3% lower) compared to EUR 8,084 in 2023 when total EUR revenues, including direct sales to France and intercompany sales of devices manufactured in Ireland, were 21.6% lower. The associated GPMs were 58.4% in 2024 and 58.9% in 2023. Femcare UK GP was GBP 1,579 in both 2024 and 2023. The 2024 UK GPM was 55.7% compared to 55.3% in 2023 while UK GBP sales including intercompany revenues were 0.7% lower. Femcare Australia and Femcare Canada are simply distribution facilities for UTMD finished devices in their respective countries. GP is the result of subtracting intercompany purchase prices of devices, plus incoming freight, from revenues. Australia 2024 GP was AUD 623 (46.9% of sales) compared to AUD 841 (53.0% of sales) in 2023. Canada 2024 GP was CAD 538 (41.2% of sales) compared to CAD 874 (58.6% of sales) in 2023. The GPMs in both Australia and Canada were diluted not only by higher overhead costs on substantially lower sales, but also higher direct material costs from weaker currencies for devices purchased from the U.S., Ireland and the UK. In the U.S., GP was $13,991 (21.2% lower) in 2024 compared to $17,750 in 2023 when revenues including intercompany &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">25</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">sales were 16.7% lower. The U.S. GPM was 48.5% in 2024 compared to 51.2% in 2023.  A summation of the above GP of each subsidiary will not yield UTMD&#8217;s consolidated total GP because of the elimination of profit in inventory for intercompany sales. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:27pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">b)</kbd><span style="border-bottom:1px solid #000000">Operating Income</span>. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:13.5pt">Operating Income results from subtracting Operating Expenses from GP. For the year 2024, Operating Income was $13,594 compared to $16,777 in 2023, a 19.0% decrease. The $3,183 decrease in Operating Income was from a combination of $5,895 lower GP and $2,712 lower Operating Expenses. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"> </kbd><kbd style="margin-left:9pt"></kbd>The UTMD Ltd (Ireland) Operating Income margin in 2024 was 54.4% compared to 55.9% in 2023. Femcare UK&#8217;s Operating Income margin per US GAAP, which includes the IIA amortization expense of the 2011 acquisition, was negative in both 2024 and 2023. &#160;Femcare Australia&#8217;s 2024 Operating Income margin was 23.6% compared to 32.2% in 2023. &#160;Femcare Canada&#8217;s 2024 Operating Income margin was 22.4% compared to 41.8% in 2023. UTMD&#8217;s 2024 Operating Income margin in the U.S. was 33.1% compared to 23.5% in 2023. &#160;For clarity, in 2023 the CSI IIA amortization expense (none in 2024) hit the U.S. Operating Income margin, and in both 2024 and 2023 the Femcare IIA amortization expense hit the Femcare UK Operating Income margin. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Operating expenses include sales and marketing (S&amp;M) expenses, product development (R&amp;D) expenses and general and administrative (G&amp;A) expenses. Consolidated WW operating expenses were $10,549 (25.8% of sales) in 2024 compared to $13,261 (26.4% of sales) in 2023. The following table provides a comparison of operating expense categories, as well as further segmentation of G&amp;A expenses: &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse"><tr><td valign="top" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:90pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:210.85pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:318.6pt"><p style="font:10pt Times New Roman;margin:0">S&amp;M expenses</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ &#160;1,901</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ &#160;1,685</p>
</td></tr>
<tr><td colspan="3" valign="bottom" style="width:318.6pt"><p style="font:10pt Times New Roman;margin:0">R&amp;D expenses</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">813</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">560</p>
</td></tr>
<tr><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:318.6pt"><p style="font:10pt Times New Roman;margin:0">G&amp;A expenses:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:300.85pt"><p style="font:10pt Times New Roman;margin:0">a) litigation expense provision</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,139</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,660</p>
</td></tr>
<tr><td valign="bottom" style="background-color:#D3F0FE;width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:300.85pt"><p style="font:10pt Times New Roman;margin:0">b) corporate legal</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">9</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">13</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:300.85pt"><p style="font:10pt Times New Roman;margin:0">c) outside directors fees</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">149</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">144</p>
</td></tr>
<tr><td valign="bottom" style="background-color:#D3F0FE;width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:300.85pt"><p style="font:10pt Times New Roman;margin:0">d) stock option compensation</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">256</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">225</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:300.85pt"><p style="font:10pt Times New Roman;margin:0">e) profit-sharing bonus accrual</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">589</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">718</p>
</td></tr>
<tr><td valign="bottom" style="background-color:#D3F0FE;width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:300.85pt"><p style="font:10pt Times New Roman;margin:0">f) outside accounting audit/tax</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">248</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">224</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:300.85pt"><p style="font:10pt Times New Roman;margin:0">g) Femcare IIA amortization</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,030</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,977</p>
</td></tr>
<tr><td valign="bottom" style="background-color:#D3F0FE;width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:300.85pt"><p style="font:10pt Times New Roman;margin:0">h) CSI IIA amortization</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,684</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:300.85pt"><p style="font:10pt Times New Roman;margin:0">i) property &amp; liability insurance premiums</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">98</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">108</p>
</td></tr>
<tr><td valign="bottom" style="background-color:#D3F0FE;width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:300.85pt"><p style="font:10pt Times New Roman;margin:0">j) <span style="border-bottom:1px solid #000000">all other G&amp;A expenses</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2,317</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2,263</span></p>
</td></tr>
<tr><td colspan="3" valign="bottom" style="width:318.6pt"><p style="font:10pt Times New Roman;margin:0">G&amp;A expenses &#8211;&#160;total</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:3px double #000000">7,835</span></p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:3px double #000000">11,016</span></p>
</td></tr>
<tr><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:318.6pt"><p style="font:10pt Times New Roman;margin:0">Total Consolidated Operating Expense:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 10,549</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 13,261</p>
</td></tr>
<tr><td valign="bottom" style="width:17.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:90pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:210.85pt"><p style="font:10pt Times New Roman;margin:0">Percent of sales:</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">25.8%</p>
</td><td valign="bottom" style="width:63.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">26.4%</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Description of Operating Expense Categories:</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt"><kbd style="margin-left:31.5pt"></kbd>i) S&amp;M expenses: &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>S&amp;M expenses in 2024 were $1,901 (4.6% of sales) compared to $1,685 (3.4% of sales) in 2023.  The higher expenses were due to higher salaries from cost-of-living adjustments to salaries and a $148 increase in U.S. medical benefit claims. Consolidated OUS S&amp;M expenses in 2024 compared to 2023 were increased by a net $3 from FX rate changes due primarily to a stronger GBP. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>S&amp;M expenses are the costs of communicating UTMD&#8217;s differences and product advantages, providing training and other customer service in support of the use of UTMD&#8217;s solutions, attending clinical meetings and medical trade shows, administering customer agreements, advertising, processing orders, shipping, and paying commissions to outside independent representatives. In markets where UTMD sells directly to end-users, which in 2023-2024 included the U.S., Ireland, UK, Australia, New Zealand, France and Canada, the largest components of S&amp;M expenses were the cost of customer service required to timely process orders and the distribution costs associated with shipping products.  &#160;  &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>S&amp;M expenses include all customer support costs including training. In general, training is not required for UTMD&#8217;s products since they are well-established and have been clinically widely used. Written &#8220;Instructions For Use&#8221; are packaged with all finished devices. Although UTMD does not have any explicit contracts with customers to provide training, it does provide hospital in-service and clinical training as required and reasonably requested. &#160;&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">26</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>UTMD promises prospective customers that it will provide, at no charge in reasonable quantities, electronic media and other instructional materials developed for the use of its products. UTMD provides customer support from offices in the U.S., Canada, Ireland, UK and Australia by telephone to answer user questions and help troubleshoot any user issues. Occasionally, on a case-by-case basis, UTMD may utilize the services of an independent practitioner to provide educational assistance to clinicians. All in-service and training expenses are routinely expensed as they occur. &#160;Except for the consulting services of independent practitioners and occasional use of marketing consultants, all of these services are allocated from fixed S&amp;M overhead costs. Historically, additional consulting costs have been immaterial to financial results, which is also UTMD&#8217;s expectation for the future.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:36pt"></kbd>ii) R&amp;D expenses: &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:4pt;margin-bottom:0pt"><kbd style="margin-left:36pt"></kbd>R&amp;D expenses in 2024 were $813 (2.0% of sales) compared to $560 (1.1% of sales) in 2023.  R&amp;D expenses include the costs of investigating clinical needs, developing innovative concepts, testing concepts for viability, validating methods of manufacture and materials, completing any necessary premarketing clinical trials, regulatory documentation and other activities required for design control, responding to customer requests for product enhancements, and assisting manufacturing engineering on an ongoing basis in developing new processes or improving existing processes. Product development (R&amp;D) expenses increased in 2024 primarily as a result of $222 spent for independent testing and validation of materials used in UTMD&#8217;s own biopharma sensors, and from cost-of-living adjustments for employees. R&amp;D also continued to play a significant role in manufacturing process improvements and quality assurance. No new UTMD devices were launched in 2024. &#160;UTMD projects R&amp;D expenses in 2025 will be between 1% and 2% of revenues.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:36pt"></kbd>iii) &#160;G&amp;A expenses: &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"><kbd style="margin-left:9pt"></kbd>G&amp;A expenses in 2024 were $7,835 (19.2% of sales) compared to $11,016 (21.9% of sales) in 2023. G&amp;A expenses include the &#8220;front office&#8221; functional costs of executive management and outside directors, finance and accounting, corporate information systems, human resources, stockholder relations, corporate risk management, corporate governance, protection of intellectual property, amortization of identifiable intangibles and legal costs. &#160;The table above helps identify certain specific categories of G&amp;A expenses which might be of interest to stockholders. &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>The $3,181 net decrease in G&amp;A expenses was due primarily to the completion in late 2023 of amortizing the $21,000 IIA from the 2019 purchase of the CSI exclusive U.S. distribution rights for the Filshie Clip System. &#160;The final CSI IIA amortization expense in 2023 was $3,684, which was zero in 2024. In addition, accrued profit-sharing bonuses were $129 lower in proportion to the 2024 decline in Income Before Income Tax (EBT). &#160;The $632 difference between that combined $3,813 reduction in 2024 G&amp;A operating expenses, and the net total $3,181 reduction in G&amp;A expenses was due to essentially to $479 higher litigation expenses, $31 higher (non-cash) stock option expense, $24 higher independent accounting and tax help as well as higher salaries (except the CEO) due to cost-of-living adjustments. A stronger GBP increased net foreign currency G&amp;A expenses by $69, compared to what they would have been in 2023. This includes an FX rate change unfavorable USD impact of $53 (out of the $69 total) from the amortization of the 2011 Femcare acquisition IIA, which was &#163;1,589 in both 2024 and 2023. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>As stockholders likely remember, the non-cash IIA amortization expense related to the Filshie Clip System in 2023 included IIA from both the 2011 acquisition of Femcare Group Ltd and the 2019 purchase of the CSI exclusive U.S. distribution rights for the Filshie Clip System. The combined Filshie IIA amortization expense in 2023 was 11.3% of total WW consolidated sales ($5,661) compared to 5.0% in 2024 ($2,030) with no 2024 CSI IIA amortization expense. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>The Femcare IIA amortization expense will continue at the same &#163;397 per calendar quarter rate, which ends in 1Q 2026 (or until the value of any remaining IIA becomes impaired), subject to changes in the GBP FX rate when converted to USD. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Regarding the product liability litigation legal expenses looking forward, most of the active motion practice and discovery has been accomplished. Four cases have now been won on summary judgment and several other lawsuits were dismissed prior to the summary judgment phase. &#160;Decisions on other summary judgment motions are pending and expected in 2025. &#160;If any summary judgment motion is denied, the case must go to trial and that could drive up expenses significantly. UTMD believes that the chance of avoiding trial is significant in every case, and therefore its projections are based on expenses being about $200 lower in 2025 than in 2024 &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Excluding the non-cash IIA amortization expenses and litigation expenses, consolidated G&amp;A operating expenses were $3,666 (9.0% of sales) in 2024 compared to $3,695 (7.4% of sales) in 2023. &#160;&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">27</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>In summary looking forward, with 5% lower revenues, more than a percentage point lower GPM and hope for $200 lower litigation expenses, UTMD management projects consolidated 2025 Operating Income of about $12 million, in the range of 11% less than in 2024.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:27pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">c)</kbd><span style="border-bottom:1px solid #000000">Non-operating income/ Non-operating expense, and Income Before Taxes (EBT)</span>. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Non-operating income includes royalties from licensing UTMD&#8217;s technology, rent from leasing underutilized property to others, income earned from investing the Company&#8217;s excess cash and gains from the sale of assets. &#160;Non-operating expense includes interest on bank loans, bank service fees, excise taxes and losses from the sale of assets. Also, the period-to-period remeasured value of EUR cash balances held in the UK, and GBP balances held in Ireland, generates a gain or loss which is booked at reporting period end as non-operating income or expense, as applicable. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>Net non-operating income (combination of non-operating income and non-operating expense) was $3,208 in 2024 and $3,312 in 2023. Net non-operating income in 2024 would have been higher than in 2023 had UTMD not been assessed a $200 excise tax on share repurchases in 2024 which did not occur in 2023, combined with EUR 215 lower rent in Ireland than received in 2023. A description of components of UTMD&#8217;s non-operating income or expense follows:&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:45pt">1) &#160;Interest Expense. &#160;There was no interest expense in 2024 or 2023. &#160;Absent an acquisition or very large repurchase of shares that requires new borrowing, UTMD does not expect any interest expense in 2025.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:45pt">2) &#160;Investment of excess cash. &#160;Consolidated investment income (including gains and losses on sales of investments) was $3,367 in 2024 compared to $3,036 in 2023. Average cash balances were about $4 million higher in 2024 than in 2023, although average interest rates were somewhat lower. UTMD is projecting current interest rates to continue in 2025, leading to an increase in non-operating income when cash is not used to repurchase shares at an attractive price, or to acquire another entity or product line. UTMD has been continuing to repurchase shares during 1Q 2025. For purposes of providing an estimate of 2025 financial results, management has included the same interest income in 2025 as in 2024.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:45.35pt">3) &#160;Royalties. &#160;Royalties in 2024 were $15 compared to $20 in 2023. Presently, there is only one arrangement which began in 2020 under which UTMD is receiving royalties on its technology.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:45.35pt">4) &#160;Gains/ losses from remeasured currency in bank accounts. UTMD recognized a $1 gain in 2024 compared to a $5 loss in 2023 from losses on remeasured foreign currency bank balances. &#160;EUR currency cash balances in the UK, and GBP currency cash bank balances in Ireland, are subject to remeasured currency translation gains/ losses as a result of period-to-period changes in FX rates. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:45.35pt">5) &#160;Other non-operating income or expense. &#160;Income received from renting unused warehouse space in Ireland and parking lot space in Utah for a cell phone tower, offset by bank fees, and other miscellaneous non-operating expenses resulted in net non-operating income of $14 in 2024 compared to a net non-operating income of $254 in 2023. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>EBT results from adding net non-operating income or subtracting net non-operating expense from Operating Income. Consolidated EBT was $16,802 (41.1% of sales) in 2024 compared to $20,089 (40.0% of sales) in 2023. &#160;In other words, despite the inflationary cost pressures diluting UTMD&#8217;s GPM and higher litigation expenses, the Company expanded its EBT Margin (EBT as a percentage of sales) with 18.6% lower sales, yielding just a 16.4% decrease in EBT. In short, 2024 lower operating expense resulting from lower IIA amortization expense offset lower gross profits from lower sales activity. &#160;With much uncertainty surrounding the projections for income and expense above, UTMD management is estimating about a 12% decline in 2025 EBT compared to 2024. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-right:-6.5pt"><kbd style="margin-left:9pt"></kbd>The 2024 EBT of UTMD Ltd. (Ireland) was &#8364;5,648 (52.5% of sales) compared to &#8364;7,680 (56.0% of sales) in 2023. Ireland had a disproportionate decline in EBT because it manufactures and sells all of the DPT kits sold to UTMD&#8217;s China distributor, and it lost all of its 2023 PendoTECH demand in the last nine months of 2024. Femcare Ltd.&#8217;s (UK) 2024 EBT was (&#163;2,815) compared to (&#163;469) in 2023. Femcare Ltd. supports worldwide regulatory requirements in addition to, according to US GAAP, absorbing the IIA amortization expense of the 2011 Femcare Group acquisition. As the developer and legal manufacturer of the Filshie Clip System, Femcare Ltd. is the corporate entity ultimately liable for Filshie product liability claims. In 2024, Utah Medical Products, Inc (Utah corporation parent of Femcare Ltd) transferred the Filshie litigation expenses which were included in Utah&#8217;s 2023 EBT to Femcare Ltd. which explains the large year-to-year decline in UK EBT. On a consolidated financial basis, it makes no difference which corporate entity absorbs the expense, except in Net Income when income tax rates vary sovereignty to sovereignty. Femcare AUS&#8217;s 2024 EBT was AUD 364 (27.4% of sales) compared to AUD 544 (34.3% of sales) in 2023. Femcare Canada&#8217;s 2024 EBT was CAD 289 (22.1% of sales) &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">28</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-right:-6.5pt">compared to CAD 620 (41.6% of sales) in 2023. &#160;The EBT declines in both the Australia and Canada distribution entities were due to both lower Filshie device sales and lower profit margins. Since they purchase finished devices in EUR and USD from other UTMD entities, and their native currencies were weaker, their cost of goods sold increased. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>EBITDA is a non-US GAAP metric that UTMD management believes is of interest to investors because it provides meaningful supplemental information to both management and investors that represents profitability performance without factoring in effects of financing, accounting decisions regarding non-cash expenses, capital expenditures or tax environments. If the Company were to need to borrow to pay for a major asset or acquisition, the projected EBITDA metric would be of primary interest to a lending institution to determine UTMD&#8217;s credit worthiness. Although the U.S. Securities and Exchange Commission advises that EBITDA is a non-GAAP metric, UTMD&#8217;s non-US GAAP EBITDA is the sum of the following elements in the table below, each of which is a US GAAP number: &#160;&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;margin-left:5.4pt"><tr><td valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:175.5pt"><p style="font:10pt Times New Roman;margin:0">EBT</p>
</td><td valign="top" style="background-color:#D3F0FE;width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 16,802</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 20,089</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">Depreciation Expense</p>
</td><td valign="top" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">730</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">623</p>
</td><td valign="top" style="width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:175.5pt"><p style="font:10pt Times New Roman;margin:0">Femcare IIA Amortization Expense</p>
</td><td valign="top" style="background-color:#D3F0FE;width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">2,030</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,977</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">CSI IIA Amortization Expense</p>
</td><td valign="top" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-18pt;margin-left:36pt;text-align:right">-</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,684</p>
</td><td valign="top" style="width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:175.5pt"><p style="font:10pt Times New Roman;margin:0">Other Non-Cash Amortization Expense</p>
</td><td valign="top" style="background-color:#D3F0FE;width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">35</p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">31</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">Stock Option Compensation Expense</p>
</td><td valign="top" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">256</p>
</td><td valign="top" style="width:58.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">225</p>
</td><td valign="top" style="width:12.6pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:175.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Remeasured Foreign Currency Balances</p>
</td><td valign="top" style="background-color:#D3F0FE;width:63pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:-0.9pt;text-align:right"> (1) </p>
</td><td valign="top" style="background-color:#D3F0FE;width:58.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.6pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:175.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">UTMD non-US GAAP EBITDA:</p>
</td><td valign="top" style="width:63pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 19,852</p>
</td><td valign="top" style="width:58.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">$ 26,635</p>
</td><td valign="top" style="width:12.6pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>In summary, UTMD&#8217;s 2024 non-US GAAP EBITDA declined 25.5% compared to 2023. &#160;With the above projections for 2025 financial performance in mind, the non-US GAAP EBITDA metric in 2025 is expected to be in the range of $17-18 million. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:27pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">d)</kbd><span style="border-bottom:1px solid #000000">Net Income, Earnings Per Share (EPS) and Return on Equity (ROE)</span>. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;text-indent:-45pt;margin-left:72pt">i) Net Income </p>
<p style="font:10pt Times New Roman;margin:0;text-indent:18pt;margin-left:9pt">Net Income results after subtracting a provision for estimated income taxes from EBT. UTMD&#8217;s Net Income in 2024 was $13,874 (33.9% of sales) compared to $16,635 (33.1% of sales) in 2023. The higher Net Income margin in 2024 was due to a higher EBT margin with the average consolidated income tax provision rate almost the same. UTMD&#8217;s average consolidated income tax provision rates were 17.4% in 2024 and 17.2% in 2023. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt">In general, year-to-year fluctuations in the combined average income tax provision rate will result from variation in EBT contribution from subsidiaries in jurisdictions with different corporate income tax rates. Taxes in foreign subsidiaries are based on taxable EBT in those sovereignties, which can be different from the contribution to consolidated EBT per US GAAP. &#160;UTMD estimates, barring any new tax law changes which are currently unknown, assuming an adjusted EBT mix toward higher-taxed sovereignties, that its combined income tax rate for 2025 will be in the 19% range, yielding Net Income approximately 14% lower than in 2024.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-left:9pt">The UK had a corporate income tax rate of 19% for 1Q 2023, followed by a 25% rate for the last nine months of 2023 and all of 2024. &#160;The UK also allowed a tax deduction for sales of UK patented products which varied from year-to-year based on somewhat complicated rules which are sorted out for UTMD by independent UK tax specialists. The corporate income tax rate for AUS was 30% for both 2024 and 2023. The income tax rate for Canada was about 27.5% for both years. Profits of the Ireland subsidiary were taxed at a 12.5% rate on exported manufactured products, and a 25% rate on rental and other types of income including income from sales of medical devices in Ireland domestically. As UTMD stockholders likely remember, in the U.S., the Federal income tax rate was changed after 2017 to 21% from 34% prior to the 2017 Tax Cut and Jobs Act (TCJA). &#160;Federal taxes are not 21% of U.S. EBT, however, as income taxes paid to the State are a deductible expense for Federal tax purposes, other expenses are not deductible and there remains an R&amp;D tax credit along with other credits, not to mention a special GILTI tax related to foreign income and FDII tax credit related to profits on export sales. The 2024 Utah state income tax rate declined to 4.45% from 4.95% in 2023. &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>ii) Earnings Per Share (EPS)&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>EPS are Net Income divided by the number of shares of stock outstanding (diluted to take into consideration stock option awards which are &#8220;in the money,&#8221; i.e., have exercise prices below the applicable period&#8217;s weighted average market value). &#160;Diluted EPS in year 2024 were $3.961 compared to $4.574 in 2023, a 13.4% decrease. The decrease in EPS was less than the 18.6% decrease in sales as a result of the higher Net Income margin and 2024 share repurchase. Diluted shares were 3,503,165 for the year 2024 &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">29</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt">compared to 3,637,071 in 2023. Dilution for &#8220;in the money&#8221; unexercised options for the year 2024 was zero shares compared to 8,303 shares in 2023. Actual outstanding common shares as of December 31, 2024 were 3,335,156.  Because of the time-weighted calculation of lower diluted shares and continued share repurchases, UTMD expects the 2025 decline in EPS to be less than 10%, yielding a target of $3.60.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"> iii) ROE</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>Achieving a high ROE remains a key management objective for UTMD in order to grow without diluting stockholder interest. ROE is the quotient of Net Income divided by average Stockholders&#8217; Equity, but more specifically it is the product of the Net Income margin, productivity of assets and financial leverage. UTMD&#8217;s high Net Income margin is the primary factor that continues to drive its ROE, with low financial leverage and decreasing asset productivity as cash balances rapidly grow. Cash dividends to stockholders and repurchase of shares, on the other hand, help in lowering average Stockholders&#8217; Equity, reducing the denominator in calculating ROE.  Building cash balances that increase Stockholders&#8217; Equity, without proportionately increasing Net Income, reduces ROE. UTMD&#8217;s 2024 ROE before stockholder dividends was 11.3%. &#160;In comparison, 2023 ROE was 13.7%.  &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>The lower 2024 ROE compared to 2023 was the result of 16.6% lower Net Income coupled with 1.3% higher average Stockholders&#8217; Equity. Despite a $24,228 reduction in 2024 from share repurchases and stockholder dividends, average Stockholders&#8217; Equity was $122,870 compared to $121,284 in 2023. UTMD&#8217;s Stockholders&#8217; Equity has more than doubled over the last twelve years to $117 million at the end of 2024, despite being reduced by $54 million in dividends plus $36 million in share repurchases over that same period of time. UTMD&#8217;s average ROE over the last 32 years was 24%. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>Looking forward to 2025, management expects a continued decline in total sales compared to the prior year as sales to PendoTECH, which are apparently eventually going away, were still well more than $2 million in 2024 and the Filshie product liability litigation dark cloud remains not fully resolved. &#160;A continued sales decline is expected to pressure UTMD&#8217;s GPM at least as much as one percentage point lower as a result of less absorption of fixed manufacturing overheads which are important resources to retain for the future. Hopefully, UTMD&#8217;s legal arguments will be persuasive in every remaining Filshie product liability case, and the Company will avoid going to trial. If so, it should reduce litigation expenses in 2025 by at least $200 relative to 2024. Based on those thoughts, although with a high level of uncertainty, management is estimating that UTMD&#8217;s consolidated revenues and EPS in 2025 will be about 5% lower and 10% lower, respectively, than in 2024. Notwithstanding the projections, UTMD will continue to operate at a high level of profitability and cash generation, and utilize its cash trove opportunistically to achieve an accretive acquisition or repurchase shares in a way that maximizes long-term stockholder value.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Liquidity and Capital Resources</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:9pt"><span style="border-bottom:1px solid #000000">Cash Flows</span>. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>Net cash provided by operating activities in 2024 totaled $14,831 compared to $22,281 in 2023. The three primary causes of the $7,450 lower net cash generation in 2024 compared to 2023, which together generated $9,493 less cash, were 1) $3,627 lower non-cash amortization of intangible assets, 2) $835 lower trade accounts receivable (A/R) at 2024 year-end rather than $2,270 higher A/R at year-end 2023, and 3) $2,761 lower Net Income. &#160;Offsetting items that together generated $1,995 more cash in 2024 versus 2023 included 1) a $587 reduction in inventories versus a $671 inventory increase in 2023, 2) $383 lower decrease in accounts payable, and 3) $334 lower decrease in deferred income taxes. &#160;&#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>In investing activities, during 2024 UTMD used $231 in capital expenditures to purchase new molds and manufacturing equipment and fixtures for expanded capabilities as well as to maintain and improve existing operating capabilities, compared to investing $639 in 2023. The 2024 expenditures were partly offset by $27 in proceeds from the sale of used equipment. Capital expenditures in 2024 were $500 less than depreciation. In 2024, UTMD also invested $5 in intangible assets.  &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"> </kbd><kbd style="margin-left:13.5pt"></kbd>In 2024 UTMD received $390 and issued 7,592 shares of stock upon the exercise of employee stock options. Option exercises in 2024 were at an average price of $51.39 per share. The Company received a $20 tax benefit from option exercises in 2024. UTMD repurchased 301,961 shares of its stock in the open market during 2024 at an average cost of $66.13 per share. &#160;As a subsequent event in 2025 as of March 25, UTMD has repurchased another 53,340 shares of its stock in the open market at an average cost of $59.41 per share. During 2024 and to date in 2025, the Company repurchased almost 10% of outstanding shares. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>In comparison, in 2023 UTMD received $117 and issued 1,758 shares of stock upon the exercise of employee stock options. Option exercises in 2023 were at an average price of $66.40 per share. The Company received a $12 tax benefit from option exercises in 2023. UTMD did not repurchase shares of its stock in the open market during 2023. &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">30</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd> UTMD did not borrow in the years 2024 and 2023. Cash dividends paid to stockholders were $4,260 in 2024 compared to $4,282 in 2023.  The amount of cash used for dividends was lower despite an approximate 2% higher dividend per share as a result of share repurchases.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>Management believes that future income from operations and effective management of working capital will continue to provide the liquidity needed to finance internal growth plans. &#160;In an uncertain economic environment, UTMD&#8217;s cash balances allow management to operate with the long-term best interest of stockholders in mind. &#160;Planned 2025 capital expenditures for ongoing operations are expected to be less than depreciation of PP&amp;E, although additional capital expenditure opportunities will be considered. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>Management plans to opportunistically utilize cash not needed to support normal operations in one or a combination of the following: 1) in general, to continue to invest at opportune times in ways that will enhance future profitability; 2) to make additional investments in new technology and/or processes; and/or 3) to acquire a product line or company that will augment revenue and EPS growth and better utilize UTMD&#8217;s existing infrastructure. &#160;If there are no better strategic uses for UTMD&#8217;s cash, the Company will continue to return cash to stockholders in the form of dividends and share repurchases when the stock appears undervalued. &#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt">Management's Outlook.</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>UTMD remains small compared to many other companies, but its employees are experienced and remain diligent in their work. UTMD&#8217;s passion is in providing differentiated clinical solutions that will help improve the outcomes of medical procedures and reduce health risks, particularly for women and their babies. &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:18pt"></kbd>The safety, reliability and performance of UTMD&#8217;s medical devices are consistently high and represent significant clinical benefits while providing minimum total cost of care. &#160;UTMD will continue to leverage its reputation as a device innovator and reliable manufacturer which will responsively take on challenges to work with clinicians who use its specialty devices. &#160;In doing so, UTMD will continue to differentiate itself, especially from its commodity-oriented competitors.  In 2025, UTMD plans to&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:9pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-1.5pt">1)</kbd><kbd style="margin-left:18pt"></kbd>exploit its pre-qualified status to introduce a line of high-pressure process control transducer configurations directly to biopharmaceutical manufacturers;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:9pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">2)</kbd><kbd style="margin-left:18pt"></kbd>continue to leverage OUS distribution and manufacturing synergies by further integrating capabilities and resources in multinational operations; &#160;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:25.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">3)</kbd>focus on defending the proven safety and effectiveness of the Filshie Clip System in the U.S.;&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:25.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">4)</kbd>introduce additional products helpful to clinicians through product development; &#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:25.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">5)</kbd>continue to achieve excellent overall financial operating performance despite a contraction in revenues; &#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:25.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">6)</kbd>utilize positive cash generation to continue providing cash dividends to stockholders and make open market share repurchases if/ when the UTMD share price seems undervalued; and&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:25.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">7)</kbd>remain vigilant for affordable accretive acquisition opportunities which may be brought about by difficult economic conditions on small, innovative companies. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>The Company has a fundamental focus to do an excellent job in meeting clinicians&#8217; and patients&#8217; needs, while providing stockholders with excellent returns. &#160;In the combined form of cash dividends and share repurchases, UTMD &#8220;returned&#8221; $24,228 (175% of Net Income) in 2024 to stockholders compared to $4,282 (26% of Net Income) in 2023.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>In 2024, the value of UTMD&#8217;s stock declined 27%, ending the year at $61.47/ share, while $1.20 in cash dividends/ share were paid to stockholders. The DJIA, S&amp;P 500 and NASDAQ Composite (where UTMD is traded) indices were all higher in 2024, respectively by 13%, 23% and 29%.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>In comparison in 2023, the value of UTMD&#8217;s stock declined 16%, ending the year at $84.22/ share, while $1.18 in cash dividends/ share were paid to stockholders. The DJIA, S&amp;P 500 and NASDAQ Composite (where UTMD is traded) indices were all higher in 2023, respectively by 14%, 24% and 43%. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:9pt"><kbd style="margin-left:13.5pt"></kbd>In contrast to the last two years&#8217; performance, combining share price appreciation and a capital allocation strategy that includes opportunistic share repurchases with steadily growing quarterly cash dividends paid to stockholders since 2004, longer-term UTMD stockholders have experienced excellent returns.  UTMD management is determined to recapture the longer-term performance.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-9pt;margin-left:9pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Off Balance Sheet Arrangements</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>None&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">31</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">Contractual Obligations</p>
<p style="font:11pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd><span style="font-size:10pt">The following is a summary of UTMD&#8217;s significant contractual obligations and commitments as of December 31, 2024: </span>&#160;</p>
<table style="border-collapse:collapse;width:402.6pt;margin-left:41.4pt"><tr><td valign="top" style="width:132.3pt"><p style="font:10pt Times New Roman;margin:0">Contractual Obligations and Commitments</p>
</td><td valign="top" style="width:56.7pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><br/><span style="border-bottom:1px solid #000000">Total</span></p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><br/><span style="border-bottom:1px solid #000000">2025</span></p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2026-<br/><span style="border-bottom:1px solid #000000">2027</span></p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2028-<br/><span style="border-bottom:1px solid #000000">2029</span></p>
</td><td valign="top" style="width:56.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">2030 and<br/><span style="border-bottom:1px solid #000000">thereafter</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:132.3pt"><p style="font:10pt Times New Roman;margin:0">Long-term debt obligations</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.7pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:32pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:36pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:38pt">-</kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:132.3pt"><p style="font:10pt Times New Roman;margin:0">Operating lease obligations</p>
</td><td valign="top" style="width:56.7pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt">367</kbd>&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">65</kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:32pt">125</kbd>&#160;</p>
</td><td valign="top" style="width:54pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:36pt">97</kbd>&#160;</p>
</td><td valign="top" style="width:56.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:38pt">80</kbd>&#160;</p>
</td></tr>
<tr style="height:8.35pt"><td valign="top" style="background-color:#D3F0FE;width:132.3pt"><p style="font:10pt Times New Roman;margin:0">Purchase obligations </p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.7pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt">3,370</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">3,370</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:32pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:54pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:36pt">-</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:38pt">-</kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:132.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:36pt"></kbd>Total&#160;</p>
</td><td valign="top" style="width:56.7pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt">3,737</kbd>&#160;</p>
</td><td valign="top" style="width:54pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">3,435</kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:32pt">125</kbd>&#160;</p>
</td><td valign="top" style="width:54pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:36pt">97</kbd>&#160;</p>
</td><td valign="top" style="width:56.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:38pt">80</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">Critical Accounting Policies and Estimates</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="margin-left:9pt"></kbd>The preparation of these financial statements requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities as well as the reported amounts of revenues and expenses during the reporting period. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;color:#000000"><kbd style="margin-left:9pt"></kbd>Management bases its estimates and judgments on historical experience, current economic and industry conditions and on various other factors that are believed to be reasonable under the circumstances. This forms the basis for making judgments about the carrying values of assets and liabilities that are not readily available from other sources. Management has identified the following as the Company&#8217;s most critical accounting policies which require significant judgment and estimates. Although management believes its estimates are reasonable, actual results may differ from these estimates under different assumptions or conditions.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>Allowance for doubtful accounts: The majority of the Company&#8217;s receivables are with healthcare facilities and medical device distributors. &#160;Although the Company has historically not had significant write-offs of bad debt, the possibility exists, particularly with foreign distributors where collection efforts can be difficult or in the event of widespread hospital bankruptcies. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:2pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>Inventory valuation reserves: &#160;The Company strives to maintain inventory to 1) meet its customers&#8217; needs and 2) optimize manufacturing lot sizes while 3) not tying-up an unnecessary amount of the Company&#8217;s capital increasing the possibility of, among other things, obsolescence. The Company believes its method of reviewing actual and projected demand for its existing inventory allows it to arrive at a fair inventory valuation reserve. While the Company has historically not had significant inventory write-offs, the possibility exists that one or more of its products may become unexpectedly obsolete for which a reserve has not previously been created. The Company&#8217;s historical write-offs have not been materially different from its estimates.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Accounting Policy Changes</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:9pt;color:#1F497D"><span style="color:#000000">The Company&#8217;s management has evaluated the recently issued accounting pronouncements through the filing date of these financial statements and has determined that the application of these pronouncements will not have a material impact on the Company&#8217;s financial position and results of operations.</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a11"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 7A - QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The Company had manufacturing operations, including related assets, in the U.S. denominated in the U.S. Dollar (USD), in Ireland denominated in the Euro (EUR), and in England denominated in the British Pound (GBP). UTMD also has trading activities in the U.S. and in subsidiaries in other countries denominated in the USD, EUR, GBP, the Australian Dollar (AUD) and the Canadian Dollar (CAD). &#160;The currencies are subject to exchange rate fluctuations that are beyond the control of UTMD. &#160;The exchange rates were .9661, .9042 and .9351 EUR per USD as of December 31, 2024, 2023 and 2022, respectively. &#160;Exchange rates were .7987, .7850 and .8280 GBP per USD as of December 31, 2024, 2023 and 2022, respectively. Exchange rates were 1.6172, 1.4652 and 1.4695 AUD per USD on December 31, 2024, 2023 and 2022, respectively. Exchange rates were 1.4403, 1.3204 and 1.3532 CAD per USD on December 31, 2024, 2023, and 2022, respectively. Please see note 1 in Item 8 below under &#8220;Translation of Foreign Currencies&#8221; for more information. &#160;UTMD manages its foreign currency risk without separate hedging transactions by either invoicing customers in the local currency where costs of production were incurred, or by converting currencies as transactions occur.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">32</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a12"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 8 - FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA</b></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Currency amounts are in thousands except per-share amounts and where noted.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>TABLE OF CONTENTS</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="background-color:#CCEEFF;width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a37" style="text-decoration:none">Management&#8217;s Report on Internal Control Over Financial Reporting</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">34</p>
</td></tr>
<tr><td valign="top" style="width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a38" style="text-decoration:none">Report of Independent Registered Public Accounting Firm (Haynie) on Financial Statements</a></span></p>
</td><td valign="top" style="width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">35</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a39" style="text-decoration:none">Report of Independent Registered Public Accounting Firm (Nortons) on Financial Statements</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">37</p>
</td></tr>
<tr><td valign="top" style="width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a40" style="text-decoration:none">Consolidated Balance Sheets</a></span></p>
</td><td valign="top" style="width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">39</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a41" style="text-decoration:none">Consolidated Statements of Income and Comprehensive Income</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">40</p>
</td></tr>
<tr><td valign="top" style="width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a42" style="text-decoration:none">Consolidated Statements of Cash Flow</a></span></p>
</td><td valign="top" style="width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">41</p>
</td></tr>
<tr><td valign="top" style="background-color:#CCEEFF;width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a43" style="text-decoration:none">Consolidated Statements of Stockholders&#8217; Equity</a></span></p>
</td><td valign="top" style="background-color:#CCEEFF;width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">42</p>
</td></tr>
<tr><td valign="top" style="width:95.2%"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="#a44" style="text-decoration:none">Notes to Consolidated Financial Statements</a></span></p>
</td><td valign="top" style="width:4.8%"><p style="font:10pt Times New Roman;margin:0;text-align:right">43</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">33</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>MANAGEMENT&#8217;S REPORT ON INTERNAL CONTROL</b></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><b>OVER FINANCIAL REPORTING</b></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Management of the Company is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rules&#160;13a-15(f) and 15d-15(f) under the Securities Exchange Act of 1934. The Company's internal control over financial reporting is designed to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with accounting principles generally accepted in the United States of America ("GAAP"). The Company's internal control over financial reporting includes those policies and procedures that</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Symbol;margin-left:0pt">&#183;</kbd><kbd style="margin-left:36pt"></kbd>pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the Company; &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Symbol;margin-left:0pt">&#183;</kbd><kbd style="margin-left:36pt"></kbd>provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with GAAP, and that receipts and expenditures of the Company are being made only in accordance with authorizations of management and directors of the Company; and &#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Symbol;margin-left:0pt">&#183;</kbd><kbd style="margin-left:36pt"></kbd>provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of the Company's assets that could have a material effect on the financial statements. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:5pt;margin-bottom:5pt">Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate. </p>
<p style="font:10pt Times New Roman;margin:0">The Company&#8217;s management assessed the effectiveness of the Company's internal control over financial reporting as of December&#160;31, 2024. In making this assessment, management used the criteria set forth by the Committee of Sponsoring Organizations of the Treadway Commission (COSO) in <i>Internal Control-Integrated Framework (2013)</i>. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Based on its assessment and those criteria, management believes that the Company maintained effective internal control over financial reporting as of December&#160;31, 2024.</p>
<p style="font:12pt Times New Roman;margin-top:5pt;margin-bottom:5pt"> &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">By: <kbd style="display:inline-block;width:5.55pt;border-bottom:1px solid #000000">&#160;</kbd><span style="border-bottom:1px solid #000000">/s/ Kevin L. Cornwell</span><kbd style="display:inline-block;width:88.3pt;border-bottom:1px solid #000000">&#160;</kbd><span style="border-bottom:1px solid #000000"> </span>&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Kevin L. Cornwell&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Chief Executive Officer&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">By: <kbd style="display:inline-block;width:5.55pt;border-bottom:1px solid #000000">&#160;</kbd><span style="border-bottom:1px solid #000000">/s/ Brian L. Koopman</span><kbd style="display:inline-block;width:88.3pt;border-bottom:1px solid #000000">&#160;</kbd><span style="border-bottom:1px solid #000000"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</span>&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Brian L. Koopman&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Principal Financial Officer&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">34</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:center">REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">To the Board of Directors and<br/>Stockholders of </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify"><b>Opinion on the Financial Statements</b></p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">We have audited the accompanying balance sheets of Utah Medical Products, Inc. (the Company) as of December 31, 2024 and 2023, and the related statements of income and comprehensive income, stockholders&#8217; equity, and cash flows for each of the years in the three-year period ended December 31, 2024, and the related notes (collectively referred to as the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2024 and 2023, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2024, in conformity with accounting principles generally accepted in the United States of America.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">We did not audit portions of the consolidated financial statements for Femcare Group Limited, a wholly owned subsidiary. The portions not audited by us include assets of $19,723,338 and $20,479,014 as of December 31, 2024, and 2023, respectively and total revenues of $4,500,153 and $4,581,877 and $4,333,431 for the years ended December 31, 2024, 2023 and 2022, respectively. Those portions of the consolidated financial statements were audited by other auditors whose reports have been furnished to us, and our opinion, insofar as they relate to the amounts included for Femcare Group Limited, is based solely on the reports of the other auditors. </p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify"><b>Basis for Opinion</b></p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify"><b>Critical Audit Matters</b></p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">35</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify"><i>Evaluation of income taxes</i></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify"><span style="border-bottom:1px solid #000000">Description of the Matter:</span></p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">As discussed in Note 1 to the consolidated financial statements, the Company operates in many parts in the world through its subsidiaries. The Company or one of its subsidiaries will file a tax return in the U.S. federal jurisdiction, in the United Kingdom, in Australia, in Ireland, and in Canada. Due to the complexity with dealing in multiple currencies/countries, along with the various tax laws and significant management judgment, we believe the account to be a critical audit matter. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify"><span style="border-bottom:1px solid #000000">How We Addressed the Matter in Our Audit:</span></p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-align:justify">We evaluated the appropriateness and consistency of management's methods and assumptions used in the identification, recognition, measurement, and disclosures of its taxes. We performed a walkthrough of the processes and controls over the income tax process. We read and evaluated management's documentation, including relevant accounting policies and information obtained by management from the outside tax specialists engaged to assist with their taxes. We identified and evaluated the reasonableness of significant assumptions in the provision and evaluated for potential bias. We verified the account balances, reperformed the provision calculation of deferred tax assets and liabilities and verified all tax rates used. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify">&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse;width:514.8pt"><tr><td colspan="2" valign="top" style="width:514.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">/s/ <ix:nonNumeric name="dei:AuditorName" contextRef="Y24" escape="true" id="ixv-11496">Haynie &amp; Company</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:514.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">We have served as the Company&#8217;s auditor since 2018.</p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td colspan="2" valign="top" style="width:514.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="dei:AuditorLocation" contextRef="Y24" escape="true" id="ixv-11497">Salt Lake City, Utah</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">March 26, 2025</p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:144pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">Firm ID: <ix:nonNumeric name="dei:AuditorFirmId" contextRef="Y24" escape="true" id="ixv-11498">457</ix:nonNumeric></p>
</td><td valign="top" style="width:370.8pt;padding-left:4.5pt;padding-right:4.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;text-align:justify">&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">36</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<a id="a39"></a><p style="font:10pt Times New Roman;margin:0;text-indent:36pt;margin-left:36pt;color:#000000"><b>REPORT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM </b><br/></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">To the Board of Directors and Stockholders<br/>of Utah Medical Products, Inc. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>Opinion on the Financial Statements </b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">We have audited the consolidated balance sheets of Femcare Group Limited (the Company), including its subsidiaries, as of December 31, 2024 and 2023, and the related consolidated statements of income, comprehensive income, stockholders&#8217; equity, and cash flows for each of the years in the three-year period ended December 31, 2024, and the related notes (collectively referred to as the financial statements). In our opinion, the financial statements present fairly, in all material respects, the financial position of the Company as of December 31, 2024 and 2023, and the results of its operations and its cash flows for each of the years in the three-year period ended December 31, 2024, in conformity with accounting principles generally accepted in the United States of America. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>Basis for Opinion </b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">These financial statements are the responsibility of the Company&#8217;s management. Our responsibility is to express an opinion on the Company&#8217;s financial statements based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (PCAOB) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audit to obtain reasonable assurance about whether the financial statements are free of material misstatement, whether due to error or fraud. The Company is not required to have, nor were we engaged to perform, an audit of its internal control over financial reporting. As part of our audits, we are required to obtain an understanding of internal control over financial reporting, but not for the purpose of expressing an opinion on the effectiveness of the Company&#8217;s internal control over financial reporting. Accordingly, we express no such opinion. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">Our audits included performing procedures to assess the risks of material misstatement of the financial statements, whether due to error or fraud, and performing procedures that respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the financial statements. We believe that our audits provide a reasonable basis for our opinion. </p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify"><b>Critical Audit Matters</b></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The critical audit matters communicated below are matters arising from the current period audit of the financial statements that were communicated or required to be communicated to the audit committee and that: (1) relate to accounts or disclosures that are material to the financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the financial statements, taken as a whole, and we are not, by communicating the critical audit matters below, providing separate opinions on the critical audit matters or on the accounts or disclosures to which they relate.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The accounting policy in respect of revenue is that revenue is recognised to the extent that it is probable that the economic benefits will flow to the Company and the revenue can be reliably measured. Revenue is measured as the fair value of the consideration received or receivable, excluding discounts, rebates, value added tax and other sales taxes.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">We identified the assessment of the revenue as a critical audit matter due to its inherent risk of understatement.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">The primary procedures we performed to address this critical audit matter included the following. We tested certain internal controls over the Company&#8217;s process for dispatching goods and raising invoices to customers. We tested a sample of orders during the year to establish that these were dispatched and invoiced. &#160;We evaluated the Company&#8217;s determination of the recoverability of any unpaid receivables at 31 December 2024. </p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">37</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:justify">We also identified the assessment of the valuation of intangible assets as a critical audit matter.  Intangible assets are valued at cost and amortised using the straight-line method over the useful economic life of the asset. Goodwill is carried at cost and tested for impairment annually. We identified the valuation of intangible assets and goodwill as a critical audit matter due to their materiality to the financial statements. We reviewed and tested the Company&#8217;s calculations in respect of amortisation and evaluated the Company&#8217;s determination of the carrying value as at 31 December 2024.</p>
<p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
<p style="font:12pt Times New Roman;margin-top:5pt;margin-bottom:5pt"><img src="utmd10k_1.jpg" style="width:183.75pt;height:33pt;visibility:visible;mso-wrap-style:square" alt="Picture"/>&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">NORTONS ASSURANCE LIMITED</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">We have served as the Company&#8217;s auditor since 2011.</p>
<p style="font:10pt Times New Roman;margin:0">Reading, United Kingdom</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">26 March, 2025</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">38</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
</div>
<div style="margin-left:72pt"><a id="a40"></a><table style="border-collapse:collapse;width:459pt"><tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">UTAH MEDICAL PRODUCTS, INC.</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">CONSOLIDATED BALANCE SHEETS</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">December 31, 2024 and 2023</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">(In thousands)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"/><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">ASSETS</span></p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Current assets:</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Cash</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11499">82,976</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11500">92,868</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables, net (note 2) </p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11501">4,094</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11502">3,391</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Inventories (note 2)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11503">8,812</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11504">9,582</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Prepaid expenses and other current assets</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11505">448</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11506">428</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total current assets</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11507">96,330</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:AssetsCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11508">106,269</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net (notes 4 and 10)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11509">9,763</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11510">10,551</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Goodwill</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11511">13,580</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11512">13,692</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Other intangible assets (note 2) </p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11513">53,772</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11514">54,296</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Other intangible assets - accumulated amortization</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11515">50,907</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11516">49,350</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Other intangible assets - net (note 2) </p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11517">2,865</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11518">4,946</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total assets</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:Assets" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11519">122,538</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:Assets" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11520">135,458</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:271.1pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">LIABILITIES AND STOCKHOLDERS' EQUITY</span></p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Current liabilities:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Accounts payable</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11521">696</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11522">769</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Accrued expenses (note 2)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11523">3,061</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11524">3,941</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total current liabilities</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11525">3,757</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11526">4,710</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Long term lease liability</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligations" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11527">282</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:LongTermDebtAndCapitalLeaseObligations" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11528">295</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Long term income tax payable (REPAT tax) (note 7)</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="E24" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11529">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11530">698</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Deferred tax liability - intangible assets</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11531">603</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11532">1,120</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes (note 7) </p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11533">469</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:DeferredIncomeTaxLiabilitiesNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11534">322</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total liabilities</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:Liabilities" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11535">5,111</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:Liabilities" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11536">7,145</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Commitments and contingencies (notes 6 and 12)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="E24" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11537">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" contextRef="E23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11538">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:308.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:308.05pt"><p style="font:10pt Times New Roman;margin:0">Stockholders' equity:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:296.25pt"><p style="font:10pt Times New Roman;margin:0;text-indent:-6pt;margin-left:6pt">Common stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="E24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11539"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" contextRef="E23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11540">0.01</ix:nonFraction></ix:nonFraction> par value; <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11541"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11542">50,000</ix:nonFraction></ix:nonFraction> shares authorized, issued <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11543"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11544">3,335</ix:nonFraction></ix:nonFraction> shares in 2024 and <ix:nonFraction name="us-gaap:CommonStockSharesIssued" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11545"><ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11546">3,630</ix:nonFraction></ix:nonFraction> shares in 2023</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11547">33</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:CommonStockValue" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11548">36</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Accumulated other comprehensive loss</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" contextRef="E24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11549">11,908</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1" contextRef="E23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11550">10,658</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Additional paid-in capital</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="E24" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11551">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11552">594</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:296.25pt"><p style="font:10pt Times New Roman;margin:0">Retained earnings</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11553">129,302</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11554">138,341</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total stockholders' equity</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11555">117,427</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:StockholdersEquity" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11556">128,313</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:25.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:271.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:60.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:67.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">Total liabilities and stockholders' equity</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:47pt"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11557">122,538</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11558">135,458</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:25.15pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:271.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:60.1pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:67.25pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:459pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">See &#160;accompanying notes to financial statements.</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:445.7pt"><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">39</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<a id="a41"></a><table style="border-collapse:collapse;width:101.92%"><tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">UTAH MEDICAL PRODUCTS, INC.</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">CONSOLIDATED STATEMENTS OF INCOME</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">AND COMPREHENSIVE INCOME</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years ended December 31, 2024, 2023 and 2022</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(In thousands, except per share amounts)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:51.44%"/><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:14.42%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.86%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">Sales, net (notes 1, 3, 9 and 11)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11559">40,903</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11560">50,224</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11561">52,281</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:51.44%"><p style="font:10pt Times New Roman;margin:0">Cost of goods sold</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11562">16,760</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11563">20,186</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:CostOfGoodsAndServicesSold" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11564">20,085</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:46.22%"><p style="font:10pt Times New Roman;margin:0">Gross profit</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11565">24,143</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11566">30,038</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11567">32,196</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">Operating expense:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:48.82%"><p style="font:10pt Times New Roman;margin:0">Sales and marketing</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11568">1,901</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11569">1,685</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11570">1,507</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:48.82%"><p style="font:10pt Times New Roman;margin:0">Research and development</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11571">813</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11572">560</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11573">493</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:48.82%"><p style="font:10pt Times New Roman;margin:0">General and administrative</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11574">7,835</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11575">11,016</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11576">10,406</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:46.22%"><p style="font:10pt Times New Roman;margin:0">Operating income</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11577">13,594</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11578">16,777</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11579">19,790</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">Other income (expense):</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:48.82%"><p style="font:10pt Times New Roman;margin:0">Dividend and interest income</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11580">3,367</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11581">3,036</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11582">661</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:48.82%"><p style="font:10pt Times New Roman;margin:0">Royalty income (note 12)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11583">15</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11584">20</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11585">20</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:48.82%"><p style="font:10pt Times New Roman;margin:0">Other, net</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11586">174</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11587">256</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11588">188</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:46.22%"><p style="font:10pt Times New Roman;margin:0">Income before provision for income taxes</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11589">16,802</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11590">20,089</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11591">20,659</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes (note 7)</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11592">2,928</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11593">3,454</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11594">4,186</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11595">13,874</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11596">16,635</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11597">16,473</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:46.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:51.44%"><p style="font:10pt Times New Roman;margin:0">Earnings per common share (basic) (note 1):</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11598">3.96</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11599">4.58</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11600">4.53</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:51.44%"><p style="font:10pt Times New Roman;margin:0">Earnings per common share (diluted) (note 1):</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11601">3.96</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11602">4.57</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11603">4.52</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:51.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="bottom" style="width:51.44%"><p style="font:10pt Times New Roman;margin:0">Other comprehensive income (loss):</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:48.82%"><p style="font:10pt Times New Roman;margin:0">Foreign currency translation net of taxes of $<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y24Q4" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11604"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y23Q4" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11605"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y24" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11606"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-11607">0</ix:nonFraction></ix:nonFraction></ix:nonFraction></ix:nonFraction> in all periods</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:14.42%;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11608">1,249</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.86%;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11609">1,381</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:12.94%;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11610">2,986</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">Total comprehensive income</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11611">12,625</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11612">18,016</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11613">13,487</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.6%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:46.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:14.42%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.86%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:12.94%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="9" valign="bottom" style="width:99.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center">See &#160;accompanying notes to financial statements.</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">40</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<a id="a42"></a><table style="border-collapse:collapse;width:99.96%"><tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">UTAH MEDICAL PRODUCTS, INC.</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">CONSOLIDATED STATEMENTS OF CASH FLOW</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">(In thousands)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"/><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:11.96%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2024</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:12.1%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2023</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.14%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center">2022</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from operating activities:</span></p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="background-color:#D3F0FE;width:54.08%"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:1pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11614">13,874</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11615">16,635</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11616">16,473</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:51.42%"><p style="font:10pt Times New Roman;margin:0">Adjustments to reconcile net income to net</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="background-color:#D3F0FE;width:51.42%"><p style="font:10pt Times New Roman;margin:0"> &#160;cash provided by operating activities:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Depreciation</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11617">730</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11618">623</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:Depreciation" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11619">612</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">Amortization</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11620">2,065</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11621">5,692</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11622">6,417</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Provision for losses on accounts receivable</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11623">4</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11624">33</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProvisionForDoubtfulAccounts" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11625">30</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">Amortization of operating lease assets</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11626">51</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11627">53</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11628">53</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11629">359</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11630">693</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11631">401</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">Stock-based compensation expense</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11632">256</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11633">225</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ShareBasedCompensation" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11634">183</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Tax benefit attributable to exercise of stock options</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:DeferredTaxExpenseFromStockOptionsExercised" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11635">21</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:DeferredTaxExpenseFromStockOptionsExercised" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11636">12</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:DeferredTaxExpenseFromStockOptionsExercised" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11637">6</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">(Increase) decrease in:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:45.78%"><p style="font:10pt Times New Roman;margin:0">Accounts receivable</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11638">835</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11639">2,270</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11640">511</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:45.78%"><p style="font:10pt Times New Roman;margin:0">Other receivables</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11641">54</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11642">0</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11643">14</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:45.78%"><p style="font:10pt Times New Roman;margin:0">Inventories</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11644">587</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11645">670</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11646">2,353</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:45.78%"><p style="font:10pt Times New Roman;margin:0">Prepaid expenses and other current assets</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11647">32</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11648">45</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11649">64</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Increase (decrease) in:</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="background-color:#D3F0FE;width:45.78%"><p style="font:10pt Times New Roman;margin:0">Accounts payable</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11650">73</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11651">456</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11652">464</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="bottom" style="width:45.78%"><p style="font:10pt Times New Roman;margin:0">Accrued expenses</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11653">1,504</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11654">1,422</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilities" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11655">252</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0">Net cash provided by operating activities</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11656">14,831</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11657">22,281</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11658">21,147</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="background-color:#D3F0FE;width:54.08%"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from investing activities:</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:51.42%"><p style="font:10pt Times New Roman;margin:0">Capital expenditures for:</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">Property and equipment</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11659">230</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11660">639</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11661">809</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:48.52%"><p style="font:10pt Times New Roman;margin:0">Intangible assets</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11662">5</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11663">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsToAcquireIntangibleAssets" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11664">9</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="bottom" style="background-color:#D3F0FE;width:48.52%"><p style="font:10pt Times New Roman;margin:0">Proceeds from the sale of property and equipment</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11665">27</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11666">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11667">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:42.52%"><p style="font:10pt Times New Roman;margin:0">Net cash (used in) investing activities</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11668">208</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11669">639</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11670">818</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Cash flows from financing activities:</span></p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="background-color:#D3F0FE;width:51.42%"><p style="font:10pt Times New Roman;margin:0">Proceeds from issuance of common stock - options</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11671">390</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11672">117</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:ProceedsFromIssuanceOfCommonStock" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11673">174</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:51.42%"><p style="font:10pt Times New Roman;margin:0">Common stock purchased and retired</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11674">19,968</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11675">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsForRepurchaseOfCommonStock" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11676">2,495</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="background-color:#D3F0FE;width:51.42%"><p style="font:10pt Times New Roman;margin:0">Dividends paid</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11677">4,260</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11678">4,282</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:PaymentsOfDividends" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11679">3,163</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:42.52%"><p style="font:10pt Times New Roman;margin:0">Net cash (used in) financing activities</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11680">23,838</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="Y23" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11681">4,165</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%;border-top:0.5pt solid #000000;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11682">5,484</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"><p style="font:10pt Times New Roman;margin:0">Effect of exchange rate changes on cash</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11683">677</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11684">339</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11685">767</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:42.52%"><p style="font:10pt Times New Roman;margin:0">Net increase in cash and cash equivalents</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11686">9,892</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11687">17,816</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11688">14,078</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"><p style="font:10pt Times New Roman;margin:0">Cash at beginning of year</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11689">92,868</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11690">75,052</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11691">60,974</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="width:54.08%"><p style="font:10pt Times New Roman;margin:0">Cash at end of year</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:1pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:46pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11692">82,976</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11693">92,868</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11694">75,052</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.9%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.74%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.26%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:42.52%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="7" valign="bottom" style="width:68.68%"><p style="font:10pt Times New Roman;margin:0">SUPPLEMENTAL DISCLOSURE OF CASH FLOW INFORMATION:</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="5" valign="bottom" style="background-color:#D3F0FE;width:54.08%"><p style="font:10pt Times New Roman;margin:0">Cash paid during the year for:</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:51.42%"><p style="font:10pt Times New Roman;margin:0">Income taxes</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11695">4,638</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11696">4,827</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:IncomeTaxesPaid" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11697">4,970</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td colspan="4" valign="bottom" style="background-color:#D3F0FE;width:51.42%"><p style="font:10pt Times New Roman;margin:0">Interest</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.64%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.96%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:InterestPaid" contextRef="Y24" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11698">-</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.1%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:InterestPaid" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11699">-</ix:nonFraction></kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:InterestPaid" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11700">-</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.9%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.74%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:3.26%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:42.52%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.64%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:11.96%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:12.1%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="11" valign="bottom" style="width:100%"><p style="font:10pt Times New Roman;margin:0;text-align:center">See accompanying notes to financial statements.</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">41</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
</div>
<div style="margin-left:43.2pt;width:699.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<a id="a43"></a><table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td colspan="12" valign="bottom" style="width:100%"><p style="font:8pt Times New Roman;margin:0;text-align:center">UTAH MEDICAL PRODUCTS, INC.</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="12" valign="bottom" style="width:100%"><p style="font:8pt Times New Roman;margin:0;text-align:center">CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="12" valign="bottom" style="width:100%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="12" valign="bottom" style="width:100%"><p style="font:8pt Times New Roman;margin:0;text-align:center">(In thousands)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Accumulated</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Additional</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Other</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Total</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="3" valign="bottom" style="width:18.76%;border-bottom:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0;text-align:center">Common Stock</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Paid-in</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Comprehensive</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Retained</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0;text-align:center">Stockholders'</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"/><td valign="bottom" style="width:8.1%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Shares</span></p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:8.62%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Amount</span></p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:10.74%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Capital</span></p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:13.64%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Income</span></p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:11.28%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Earnings</span></p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="bottom" style="width:12.86%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="font-size:8pt">Equity</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Balance at December 31, 2021</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.1%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="E21_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11701">3,655</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.62%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E21_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11702">36</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10.74%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E21_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11703">842</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:13.64%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E21_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11704">9,053</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:11.28%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E21_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11705">115,314</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:12.86%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E21" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11706">107,138</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Shares issued upon exercise of employee stock options for cash</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11707">4</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11708">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11709">211</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11710">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11711">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11712">211</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Shares received and retired upon exercise of stock options</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt">(<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11713">1</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11714">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt">(<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11715">37</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11716">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11717">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11718">37</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Stock option compensation expense</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11719">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11720">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11721">183</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11722">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11723">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11724">183</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Common stock purchased and retired</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11725">30</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11726">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11727">947</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11728">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11729">1,548</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11730">2,495</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Foreign currency translation adjustment</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11731">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11732">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11733">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11734">2,986</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11735">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11736">2,986</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Common stock dividends</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11737">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11738">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11739">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11740">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11741">4,233</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11742">4,233</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Net income</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11743">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11744">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11745">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11746">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11747">16,473</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11748">16,473</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Balance at December 31, 2022</span></p>
</td><td valign="middle" style="width:8.1%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><span style="font-size:8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="E22_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11749">3,628</ix:nonFraction>&#160;</span></kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8.62%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E22_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11750">36</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:10.74%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E22_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11751">252</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:13.64%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E22_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11752">12,039</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.28%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E22_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11753">126,006</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:12.86%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11754">114,255</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Shares issued upon exercise of employee stock options for cash</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11755">2</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11756">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11757">117</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11758">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11759">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11760">117</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Shares received and retired upon exercise of stock options</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11761">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11762">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11763">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11764">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11765">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11766">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Stock option compensation expense</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11767">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11768">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11769">225</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11770">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11771">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11772">225</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Common stock purchased and retired</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11773">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11774">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11775">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11776">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11777">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y23" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11778">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Foreign currency translation adjustment</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11779">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11780">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11781">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11782">1,381</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11783">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11784">1,381</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Unrealized holding gain (loss) from investments, available-for-sale, net of taxes</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt">-&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt">-&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt">-&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">-&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">-&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">-&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Common stock dividends</span></p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11785">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11786">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11787">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11788">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11789">4,300</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11790">4,300</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Net income</span></p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11791">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11792">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11793">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11794">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11795">16,635</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11796">16,635</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:24.6%"><p style="font:10pt Times New Roman;margin:0"><span style="font-size:8pt">Balance at December 31, 2023</span></p>
</td><td valign="middle" style="width:8.1%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:39pt"><span style="font-size:8pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="E23_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11797">3,630</ix:nonFraction>&#160;</span></kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8.62%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11798">36</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:10.74%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11799">594</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:13.64%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11800">10,658</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.28%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11801">138,341</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:12.86%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11802">128,313</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0">Shares issued upon exercise of employee stock options for cash</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11803">8</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11804">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11805">390</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11806">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11807">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11808">390</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Stock option compensation expense</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11809">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11810">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11811">256</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11812">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11813">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockOptionPlanExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11814">256</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0">Common stock purchased and retired</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodShares" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="Shares" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11815">302</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11816">3</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11817">1,239</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11818">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11819">18,726</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:StockRepurchasedAndRetiredDuringPeriodValue" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11820">19,968</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Foreign currency translation adjustment</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11821">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11822">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11823">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11824">1,249</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11825">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" contextRef="Y24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11826">1,249</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0">Common stock dividends</p>
</td><td valign="bottom" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11827">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11828">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11829">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11830">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11831">4,189</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="bottom" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt">(<ix:nonFraction name="us-gaap:DividendsCommonStockCash" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11832">4,189</ix:nonFraction>)</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="bottom" style="background-color:#D3F0FE;width:24.6%"><p style="font:8pt Times New Roman;margin:0">Net income</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.1%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11833">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:8.62%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StEqComps-CommonStock" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11834">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:10.74%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11835">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:13.64%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11836">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:11.28%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11837">13,874</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="background-color:#D3F0FE;width:12.86%"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11838">13,874</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0">Balance at December 31, 2024</p>
</td><td valign="middle" style="width:8.1%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:39pt"><ix:nonFraction name="us-gaap:SharesOutstanding" contextRef="E24_StEqComps-CommonStock" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11839">3,335</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8.62%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:42pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E24_StEqComps-CommonStock" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11840">33</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:10.74%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:57pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E24_StEqComps-AddPaidInCap" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11841">0</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:13.64%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:78pt">(<ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E24_StEqComps-ComprIncome" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11842">11,907</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:11.28%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E24_StEqComps-RetainedEarnings" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11843">129,302</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:12.86%;border-top:0.5pt solid #000000"><p style="font:8pt Times New Roman;margin:0"><kbd style="position:absolute;font:8pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:8pt Times New Roman;width:72pt"><ix:nonFraction name="us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11844">117,428</ix:nonFraction>&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:24.6%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:8.1%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:8.62%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:10.74%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:13.64%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:11.28%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:2.04%"><p style="font:8pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:12.86%"><p style="font:8pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="12" valign="bottom" style="width:100%"><p style="font:8pt Times New Roman;margin:0;text-align:center">See accompanying notes to financial statements.</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">42</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
</div>
<div style="margin-left:72pt;width:482.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><a id="a44"></a><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Currency amounts are in thousands except per-share amounts and where noted.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:SignificantAccountingPoliciesTextBlock" contextRef="Y24" escape="true" continuedAt="c1" id="ixv-6254"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Organization</span></p>
<p style="font:10pt Times New Roman;margin:0">Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#8217;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#8217; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare Ltd had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 120 companies in the U.S. for their medical and non-medical products.</p>
<ix:nonNumeric name="us-gaap:UseOfEstimates" contextRef="Y24" escape="true" id="ixv-6260"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Use of Estimates in the Preparation of Financial Statements</span></p>
<p style="font:10pt Times New Roman;margin:0">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ConsolidationPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6264"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Principles of Consolidation</span></p>
<p style="font:10pt Times New Roman;margin:0">The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:CashAndCashEquivalentsPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6268"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Cash and Cash Equivalents</span></p>
<p style="font:10pt Times New Roman;margin:0">For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ConcentrationRiskDisclosureTextBlock" contextRef="Y24" escape="true" id="ixv-6272"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Concentration of Credit Risk</span></p>
<p style="font:10pt Times New Roman;margin:0">The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December&#160;31, 2024 except under an extreme global financial crisis.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ReceivablesPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6278"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Accounts Receivable</span></p>
<p style="font:10pt Times New Roman;margin:0">Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</p>
</ix:nonNumeric></ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">43</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c1" continuedAt="c2"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span> (continued)</p>
<ix:continuation id="c2" continuedAt="c3"><ix:nonNumeric name="us-gaap:InventoryPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6295"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Inventories</span></p>
<p style="font:10pt Times New Roman;margin:0">Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2).</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6299"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Building and improvements</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements" format="ixt-sec:duryear" id="ixv-11845">15</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E24_Range-Maximum_PpeByType-BuildingAndBuildingImprovements" format="ixt-sec:duryear" id="ixv-11846">40</ix:nonNumeric> years</kbd>&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Furniture, equipment and tooling</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E24_Range-Minimum_PpeByType-Equipment" format="ixt-sec:duryear" id="ixv-11847">3</ix:nonNumeric>-<ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentUsefulLife" contextRef="E24_Range-Maximum_PpeByType-Equipment" format="ixt-sec:duryear" id="ixv-11848">10</ix:nonNumeric> years</kbd>&#160;</p>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6310"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Long-Lived Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6314"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Intangible Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from <ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="E24_Range-Minimum" format="ixt-sec:duryear" id="ixv-11849">5</ix:nonNumeric> to <ix:nonNumeric name="us-gaap:FiniteLivedIntangibleAssetUsefulLife" contextRef="E24_Range-Maximum" format="ixt-sec:duryear" id="ixv-11850">20</ix:nonNumeric> years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2024, using the 2024 year-end <ix:nonFraction name="fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD" contextRef="E24" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11851">1.2521</ix:nonFraction> USD/GBP and <ix:nonFraction name="fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD" contextRef="E24" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-11852">0.6183</ix:nonFraction> USD/AUD currency exchange rates, is about $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11853">1,935</ix:nonFraction> in 2025, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11854">426</ix:nonFraction> in 2026, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11855">14</ix:nonFraction> in 2027, $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11856">11</ix:nonFraction> in 2028, and $<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11857">10</ix:nonFraction> in 2029 (see note 2). &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">In 2019, $<ix:nonFraction name="us-gaap:FinitelivedIntangibleAssetsAcquired1" contextRef="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11858">21,000</ix:nonFraction> in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized in 2023 (see note 15). </p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy" contextRef="Y24" escape="true" id="ixv-6319"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Stock-Based Compensation </span></p>
<p style="font:10pt Times New Roman;margin:0">At December 31, 2024, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, <i>Share-Based Payment</i>. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2024, the Company recognized $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11859">255</ix:nonFraction> in stock-based compensation cost compared to $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11860">225</ix:nonFraction> in 2023 and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11861">183</ix:nonFraction> in 2022. &#160;</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:RevenueRecognitionPolicyTextBlock" contextRef="Y24" escape="true" continuedAt="c4" id="ixv-6324"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Revenue Recognition</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for </p>
</ix:nonNumeric></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">44</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c3" continuedAt="c5"><ix:continuation id="c4" continuedAt="c6"></ix:continuation></ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span> (continued)</p>
<ix:continuation id="c5" continuedAt="c7"><ix:continuation id="c6"><p style="font:10pt Times New Roman;margin:0">other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &#160;</p>
</ix:continuation><ix:nonNumeric name="us-gaap:IncomeTaxPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6342"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Income Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2024, 2023 or 2022.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:LegalCostsPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-6350"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Legal Costs</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2024 and 2023 was $<ix:nonFraction name="us-gaap:LitigationReserve" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11864">111</ix:nonFraction> and $<ix:nonFraction name="us-gaap:LitigationReserve" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11865">257</ix:nonFraction>, respectively (see note 2).</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:EarningsPerSharePolicyTextBlock" contextRef="Y24" escape="true" continuedAt="c8" id="ixv-6354"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Earnings per Share</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" contextRef="Y24" escape="true" continuedAt="c9" id="ixv-11866"></ix:nonNumeric></ix:nonNumeric></ix:continuation></div>
<div style="margin-left:72pt"><ix:continuation id="c7" continuedAt="c10"><ix:continuation id="c8" continuedAt="c11"><ix:continuation id="c9" continuedAt="c12"><table style="border-collapse:collapse"><tr><td valign="top" style="width:282.95pt"/><td valign="top" style="width:72.3pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:62.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:64.35pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:282.95pt"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding &#8211;&#160;basic</span></p>
</td><td valign="top" style="background-color:#D3F0FE;width:72.3pt"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11867">3,503</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11868">3,629</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:64.35pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11869">3,637</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:282.95pt"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Dilutive effect of stock options</span></p>
</td><td valign="top" style="width:72.3pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right">&#160;<ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y24" decimals="-3" unitRef="Shares" format="ixt:fixed-zero" id="ixv-11870">-</ix:nonFraction></p>
</td><td valign="top" style="width:62.8pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11871">8</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:64.35pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11872">6</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:282.95pt"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding, assuming dilution</span></p>
</td><td valign="top" style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11873">3,503</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11874">3,637</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-11875">3,643</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c10" continuedAt="c13"><ix:continuation id="c11"><ix:continuation id="c12"></ix:continuation></ix:continuation><ix:nonNumeric name="fil:PresentationOfSalesAndSimilarTaxesTextBlock" contextRef="Y24" escape="true" id="ixv-6417"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Presentation of Sales and Similar Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2024 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
</ix:nonNumeric><ix:nonNumeric name="us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock" contextRef="Y24" escape="true" continuedAt="c14" id="ixv-6421"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Translation of Foreign Currencies</span></p>
<p style="font:10pt Times New Roman;margin:0">Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:nonNumeric></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">45</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c13" continuedAt="c15"><ix:continuation id="c14" continuedAt="c16"></ix:continuation></ix:continuation><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span> (continued)</p>
<ix:continuation id="c15"><ix:continuation id="c16"><p style="font:10pt Times New Roman;margin:0">Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year.</p>
</ix:continuation></ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:SupplementalBalanceSheetDisclosuresTextBlock" contextRef="Y24" escape="true" continuedAt="c17" id="ixv-6440"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 2 &#8211;&#160;Detail of Certain Balance Sheet Accounts</span></p>
<ix:nonNumeric name="srt:ScheduleOfCondensedBalanceSheetTableTextBlock" contextRef="Y24" escape="true" continuedAt="c18" id="ixv-6443"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:nonNumeric></ix:nonNumeric></div>
<div style="margin-left:72pt"><ix:continuation id="c17" continuedAt="c19"><ix:continuation id="c18" continuedAt="c20"><table style="border-collapse:collapse"><tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:130.95pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="width:256.55pt"/><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="background-color:#D3F0FE;width:256.55pt"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Accounts receivable</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11880">4,239</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:AccountsReceivableGrossCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11881">3,488</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Accrued interest and other</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(<ix:nonFraction name="fil:AccruedInterestAndOther" contextRef="E24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11882">2</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="fil:AccruedInterestAndOther" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11883">53</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Less allowance for doubtful accounts</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11884">143</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11885">151</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total accounts and other receivables</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11886">4,094</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:AccountsAndOtherReceivablesNetCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11887">3,390</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="background-color:#D3F0FE;width:256.55pt"><p style="font:10pt Times New Roman;margin:0">Inventories:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Finished products</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11888">1,913</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11889">1,685</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11890">1,414</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:InventoryWorkInProcess" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11891">1,503</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11892">5,485</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:InventoryRawMaterials" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11893">6,394</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total inventories</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11894">8,812</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:InventoryNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11895">9,582</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="background-color:#D3F0FE;width:256.55pt"><p style="font:10pt Times New Roman;margin:0">Goodwill:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Balance as of January 1</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">13,692&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">13,354&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Effect of foreign exchange</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(<ix:nonFraction name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" contextRef="D241231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11896">112</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GoodwillForeignCurrencyTranslationGainLoss" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11897">338</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Subtractions as a result of impairment</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="D241231" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11898">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:GoodwillImpairmentLoss" contextRef="D231231" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-11899">-</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total Goodwill as of December 31</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11900">13,580</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:Goodwill" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11901">13,692</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-top:3px double #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="background-color:#D3F0FE;width:256.55pt"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Patents</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11902">2,210</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedPatentsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11903">2,209</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Non-compete agreements</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedNoncompeteAgreementsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11904">125</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedNoncompeteAgreementsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11905">127</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Trademarks &amp; trade names</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedTrademarksGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11906">9,205</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedTrademarksGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11907">9,360</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Customer relationships</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedCustomerRelationshipsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11908">8,952</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedCustomerRelationshipsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11909">9,108</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Distribution agreements</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11910">21,000</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OtherFiniteLivedIntangibleAssetsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11911">21,000</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Right-of-Use Asset</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11912">338</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11913">342</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Regulatory approvals &amp; product certifications</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11914">11,942</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11915">12,150</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total Other Identifiable Intangible Assets</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11916">53,772</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11917">54,296</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Accumulated amortization</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11918">50,907</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(<ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11919">49,350</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets, Net</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11920">2,865</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11921">4,946</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" valign="top" style="background-color:#D3F0FE;width:256.55pt"><p style="font:10pt Times New Roman;margin:0">Accrued expenses:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Income taxes payable (receivable)</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(<ix:nonFraction name="fil:AccruedIncomeTaxesPayableReceivable" contextRef="E24" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-11922">153</ix:nonFraction>)</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="fil:AccruedIncomeTaxesPayableReceivable" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11923">327</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Payroll and payroll taxes</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11924">1,148</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:EmployeeRelatedLiabilitiesCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11925">1,294</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Reserve for litigation costs</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:LitigationReserveCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11926">111</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:LitigationReserveCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11927">257</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="background-color:#D3F0FE;width:229.5pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56.25pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11928">1,955</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:62.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:OtherAccruedLiabilitiesCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11929">2,063</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:27.05pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total accrued expenses</p>
</td><td valign="top" style="width:13pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11930">3,061</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:11.8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11931">3,941</ix:nonFraction>&#160;</kbd>&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c19"><ix:continuation id="c20"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">46</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="us-gaap:QuarterlyFinancialInformationTextBlock" contextRef="Y24" escape="true" continuedAt="c21" id="ixv-7113"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 3 &#8211;&#160;Quarterly Results of Operations (Unaudited)</span></p>
<ix:nonNumeric name="us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock" contextRef="Y24" escape="true" continuedAt="c22" id="ixv-7116"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:nonNumeric></ix:nonNumeric></div>
<div style="margin-left:72pt"><ix:continuation id="c21" continuedAt="c23"><ix:continuation id="c22" continuedAt="c24"><table style="border-collapse:collapse"><tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="top" style="width:302.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"/><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11932">11,340</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11933">10,400</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11934">10,005</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11935">9,157</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11936">6,766</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11937">6,253</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11938">5,802</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11939">5,323</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11940">3,956</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11941">3,453</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11942">3,563</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11943">2,902</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24Q1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11944">1.09</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24Q2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11945">0.98</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24Q3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11946">1.03</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24Q4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11947">0.86</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c23" continuedAt="c25"><ix:continuation id="c24" continuedAt="c26"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt"><ix:continuation id="c25" continuedAt="c27"><ix:continuation id="c26" continuedAt="c28"><table style="border-collapse:collapse"><tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="top" style="width:302.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"/><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11948">12,520</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11949">12,866</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11950">12,505</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11951">12,333</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11952">7,843</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11953">7,739</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11954">7,359</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11955">7,098</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11956">4,214</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11957">4,200</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11958">3,935</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11959">4,287</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23Q1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11960">1.16</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23Q2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11961">1.15</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23Q3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11962">1.08</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23Q4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11963">1.18</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c27" continuedAt="c29"><ix:continuation id="c28" continuedAt="c30"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt"><ix:continuation id="c29" continuedAt="c31"><ix:continuation id="c30" continuedAt="c32"><table style="border-collapse:collapse"><tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="top" style="width:302.4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"/><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11964">12,323</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11965">13,428</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11966">12,955</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11967">13,575</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11968">7,533</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11969">8,151</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11970">8,186</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11971">8,327</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:180pt"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q1" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11972">3,534</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q2" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11973">4,103</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q3" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11974">4,280</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22Q4" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11975">4,555</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:180pt"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td valign="top" style="width:72pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22Q1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11976">0.96</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:78.8pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22Q2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11977">1.12</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.75pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22Q3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11978">1.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:75.85pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22Q4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-11979">1.25</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c31"><ix:continuation id="c32"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation></ix:continuation><ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock" contextRef="Y24" escape="true" continuedAt="c33" id="ixv-7394"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 4 &#8211;&#160;Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Property and equipment consists of the following:</p>
<ix:nonNumeric name="us-gaap:PropertyPlantAndEquipmentTextBlock" contextRef="Y24" escape="true" id="ixv-7398"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td valign="top" style="width:6.52%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:55.32%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:38.14%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:61.86%"/><td valign="top" style="width:18.32%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top" style="width:16.78%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:6.52%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:55.32%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18.32%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:16.78%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:61.86%"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18.32%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11980">1,604</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:16.78%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11981">1,638</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:61.86%"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td valign="top" style="width:18.32%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11982">13,539</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:16.78%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11983">13,907</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:61.86%"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18.32%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11984">18,527</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:16.78%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11985">17,315</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:61.86%"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td valign="top" style="width:18.32%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11986">19</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:16.78%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11987">1,413</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:6.52%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:55.32%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18.32%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11988">33,689</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11989">34,273</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="width:61.86%"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td valign="top" style="width:18.32%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11990">23,926</ix:nonFraction>)</p>
</td><td valign="top" style="width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:16.78%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11991">23,722</ix:nonFraction>)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" valign="top" style="background-color:#D3F0FE;width:61.86%"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18.32%;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11992">9,763</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11993">10,551</ix:nonFraction>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Included in the Company&#8217;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:</p>
<ix:nonNumeric name="fil:PropertyPlantAndEquipmentByLocationTextBlock" contextRef="Y24" escape="true" continuedAt="c34" id="ixv-7497"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100.08%"><tr><td valign="top" style="width:37.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="top" style="width:60.54%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2024</span></p>
</td></tr>
<tr><td valign="top" style="width:37.02%"/><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:17.04%"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td valign="bottom" style="width:15.58%"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td valign="bottom" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td valign="bottom" style="width:14.76%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td valign="top" style="width:37.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:17.04%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.58%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.76%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.02%"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:17.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11994">621</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.58%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11995">627</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11996">356</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.76%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11997">1,604</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.02%"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:17.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11998">6,576</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.58%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-11999">3,101</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12000">3,862</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.76%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12001">13,539</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.02%"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:17.04%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12002">15,842</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.58%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12003">710</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12004">1,975</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.76%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12005">18,527</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.02%"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:17.04%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12006">19</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.58%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12007">-</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:13.14%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12008">-</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.76%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12009">19</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.02%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12010">23,058</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12011">4,438</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12012">6,193</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12013">33,689</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.02%"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td valign="top" style="width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:17.04%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12014">18,930</ix:nonFraction>)</p>
</td><td valign="top" style="width:15.58%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12015">1,587</ix:nonFraction>)</p>
</td><td valign="top" style="width:13.14%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12016">3,409</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.76%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12017">23,926</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.02%"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.44%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12018">4,128</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12019">2,851</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12020">2,784</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12021">9,763</ix:nonFraction>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</ix:nonNumeric></ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">47</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c33" continuedAt="c35"><ix:continuation id="c34" continuedAt="c36"></ix:continuation></ix:continuation><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 4 &#8211;&#160;Property and Equipment (continued)</span></p>
<ix:continuation id="c35"><ix:continuation id="c36"><table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:37.3%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="bottom" style="width:59.7%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2023</span></p>
</td></tr>
<tr><td valign="top" style="width:37.3%"/><td valign="top" style="width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="bottom" style="width:15.12%"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td valign="bottom" style="width:15.96%"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td valign="bottom" style="width:13.44%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td valign="bottom" style="width:15.16%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.3%"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.12%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12024">621</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.96%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12025">637</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.44%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12026">380</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.16%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:Land" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12027">1,638</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.3%"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td valign="top" style="width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.12%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12028">6,584</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.96%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12029">3,194</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:13.44%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12030">4,129</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.16%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:BuildingsAndImprovementsGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12031">13,907</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.3%"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.12%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12032">15,075</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.96%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12033">732</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.44%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12034">1,508</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.16%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:MachineryAndEquipmentGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12035">17,315</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.3%"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td valign="top" style="width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.12%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12036">913</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.96%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12037">3</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:13.44%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12038">497</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:15.16%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:ConstructionInProgressGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12039">1,413</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.3%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12040">23,193</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12041">4,566</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12042">6,514</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentGross" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12043">34,273</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:37.3%"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td valign="top" style="width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:15.12%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12044">18,701</ix:nonFraction>)</p>
</td><td valign="top" style="width:15.96%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12045">1,464</ix:nonFraction>)</p>
</td><td valign="top" style="width:13.44%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12046">3,557</ix:nonFraction>)</p>
</td><td valign="top" style="width:15.16%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12047">23,722</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:37.3%"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td valign="top" style="background-color:#D3F0FE;width:3.02%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StGeo-USAndCanada" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12048">4,492</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StGeo-EnglandAndAustralia" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12049">3,102</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23_StGeo-IE" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12050">2,957</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12051">10,551</ix:nonFraction>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation></ix:continuation><ix:nonNumeric name="us-gaap:LongTermDebtTextBlock" contextRef="Y24" escape="true" id="ixv-7764"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 5 &#8211;&#160;Long-term Debt</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="E24" decimals="INF" unitRef="USD" format="ixt-sec:numwordsen" id="ixv-12052"><ix:nonFraction name="us-gaap:LongTermDebt" contextRef="E23" decimals="INF" unitRef="USD" format="ixt-sec:numwordsen" id="ixv-12053">None</ix:nonFraction></ix:nonFraction> in 2023 and 2024.</p>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:CommitmentsAndContingenciesDisclosureTextBlock" contextRef="Y24" escape="true" id="ixv-7769"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 6 &#8211;&#160;Commitments and Contingencies</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Purchase Obligations</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Product Liability</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company is self-insured for product liability risk. &#8220;Product liability&#8221; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#8217;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although product liability litigation expenses at $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12054">2,139</ix:nonFraction> in 2024, $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12055">1,660</ix:nonFraction> in 2023 and $<ix:nonFraction name="fil:LitigationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12056">670</ix:nonFraction> in 2022 were high relative to history, they were not material to overall consolidated financial results. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company absorbs the costs of clinical training and trouble-shooting in its on-going operating expenses.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Warranty Reserve </span></p>
<p style="font:10pt Times New Roman;margin:0">The Company&#8217;s published warranty is: &#8220;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.&#8221; </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">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 are immaterial, <ix:nonFraction name="us-gaap:ProductWarrantyAccrual" contextRef="E24" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-12057"><ix:nonFraction name="us-gaap:ProductWarrantyAccrual" contextRef="E23" decimals="INF" unitRef="USD" format="ixt:fixed-zero" id="ixv-12058">no</ix:nonFraction></ix:nonFraction> warranty reserve was made at December 31, 2024 or December 31, 2023. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Litigation &#160;</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated.</p>
</ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">48</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" contextRef="Y24" escape="true" id="ixv-7799"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 7 &#8211;&#160;Income Taxes &#160;</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Deferred tax assets (liabilities) consist of the following temporary differences:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock" contextRef="Y24" escape="true" id="ixv-7803"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" valign="top" style="width:44.02%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr><td valign="top" style="width:53.18%"/><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:14%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Inventory write-downs and differences due to UNICAP</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12059">270</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12060">110</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsInventory" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12061">103</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">Allowance for doubtful accounts</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12062">29</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12063">31</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12064">39</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Accrued liabilities and reserves</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12065">50</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12066">90</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12067">90</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">Depreciation and amortization</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredTaxLiabilitiesDepreciationAndAmortization" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12068">1,451</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredTaxLiabilitiesDepreciationAndAmortization" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12069">1,673</ix:nonFraction>)</p>
</td><td valign="top" style="width:14%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredTaxLiabilitiesDepreciationAndAmortization" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12070">2,295</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes, net</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12071">1,102</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12072">1,442</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(<ix:nonFraction name="us-gaap:DeferredTaxLiabilities" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12073">2,063</ix:nonFraction>)</p>
</td></tr>
</table>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The components of income tax expense are as follows:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock" contextRef="Y24" escape="true" id="ixv-7884"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td valign="top" style="width:53.2%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:44%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td valign="top" style="width:53.2%"/><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:53.2%"><p style="font:10pt Times New Roman;margin:0">Current</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12074">3,268</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12075">4,075</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:CurrentIncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12076">4,632</ix:nonFraction>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:53.2%"><p style="font:10pt Times New Roman;margin:0">Deferred</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredIncomeTaxExpense" contextRef="D241231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12077">340</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredIncomeTaxExpense" contextRef="D231231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12078">621</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.18%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="fil:DeferredIncomeTaxExpense" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12079">446</ix:nonFraction>)</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:53.2%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12080">2,928</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12081">3,454</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12082">4,186</ix:nonFraction>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" contextRef="Y24" escape="true" id="ixv-7943"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:44.02%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.18%"/><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Federal income tax expense at the statutory rate</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12083">2,794</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12084">2,346</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12085">2,620</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12086">504</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12087">439</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12088">490</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="D241231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12089">1</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12090">951</ix:nonFraction>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12091">1,129</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">R&amp;D tax credits and manufacturing profit deduction</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12092">18</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12093">3</ix:nonFraction>)</p>
</td><td valign="top" style="width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationTaxCreditsResearch" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12094">3</ix:nonFraction>)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Tax-exempt income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12095">201</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12096">195</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:InterestIncomeSecuritiesTaxExempt" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12097">-</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="D241231" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12098">-</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.92%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="D231231" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12099">-</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.18%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="fil:AdjustmentToDeferredTaxLiability" contextRef="Y22" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12100">-</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.18%"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="D241231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12101">150</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="D231231" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12102">84</ix:nonFraction>)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.18%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:IncomeTaxReconciliationOtherAdjustments" contextRef="Y22" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12103">50</ix:nonFraction>)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.18%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12104">2,928</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12105">3,454</ix:nonFraction>&#160;</p>
</td><td valign="top" style="width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12106">4,186</ix:nonFraction>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">The domestic and foreign components of income before income tax expense were as follows: &#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock" contextRef="Y24" escape="true" id="ixv-8057"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td valign="top" style="width:53.22%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:43.98%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.22%"/><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.94%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:14.94%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:14.1%"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.22%"><p style="font:10pt Times New Roman;margin:0">Domestic</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.94%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12107">13,306</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.94%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12108">11,170</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.1%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12109">12,475</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:53.22%"><p style="font:10pt Times New Roman;margin:0">Foreign</p>
</td><td valign="top" style="width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:14.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12110">3,496</ix:nonFraction></p>
</td><td valign="top" style="width:14.94%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12111">8,919</ix:nonFraction></p>
</td><td valign="top" style="width:14.1%;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12112">8,184</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:53.22%"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td valign="top" style="background-color:#D3F0FE;width:2.8%"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D241231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12113">16,802</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="D231231" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12114">20,089</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:14.1%;border-top:0.5pt solid #000000;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12115">20,659</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">49</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock" contextRef="Y24" escape="true" continuedAt="c37" id="ixv-8122"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 8 &#8211;&#160;Options</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12116">275</ix:nonFraction> thousand shares of common stock, of which <ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12117">98</ix:nonFraction> thousand are outstanding as of December 31, 2024. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" contextRef="Y24" escape="true" continuedAt="c38" id="ixv-8126"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
</ix:nonNumeric></ix:nonNumeric></div>
<div style="margin-left:72pt"><ix:continuation id="c37" continuedAt="c39"><ix:continuation id="c38" continuedAt="c40"><table style="border-collapse:collapse"><tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:166.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">(000&#8217;s)</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:166.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Per Share</span></p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12118">25</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12119">64.09</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12120">64.09</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12121">3</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12122">49.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12123">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12124">8</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12125">49.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y24_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12126">58.50</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12127">98</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E24_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12128">58.50</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E24_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12129">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="E24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12130">52</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E24_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12131">58.50</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E24_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12132">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12133">19</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12134">77.07</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12135">77.07</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="Y23" decimals="-2" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12136">0.4</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12137">77.05</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12138">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12139">2</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12140">49.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y23_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12141">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12142">84</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E23_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12143">49.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E23_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12144">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="E23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12145">50</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E23_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12146">49.18</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E23_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12147">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12148">21</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12149">82.60</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12150">82.60</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12151">2</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12152">33.30</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12153">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12154">4</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12155">33.30</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" contextRef="Y22_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12156">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" contextRef="E22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12157">67</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E22_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12158">33.30</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" contextRef="E22_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12159">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:256.5pt"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" contextRef="E22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12160">40</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:74.45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E22_Range-Minimum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12161">33.30</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:12.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:80.3pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" contextRef="E22_Range-Maximum" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12162">77.05</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c39" continuedAt="c41"><ix:continuation id="c40"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation><p style="font:10pt Times New Roman;margin:0">For the years ended December 31, 2024, 2023 and 2022, the Company reduced current income taxes payable by $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12163">20</ix:nonFraction>, $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12164">12</ix:nonFraction> and $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12165">6</ix:nonFraction>, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Stock-Based Compensation</span></p>
<p style="font:10pt Times New Roman;margin:0">In 2024, the Company recognized $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12166">255</ix:nonFraction> in equity compensation cost, compared to $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12167">225</ix:nonFraction> in 2023 and $<ix:nonFraction name="us-gaap:AllocatedShareBasedCompensationExpense" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12168">183</ix:nonFraction> in 2022.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" contextRef="Y24" escape="true" continuedAt="c42" id="ixv-8465"><p style="font:10pt Times New Roman;margin:0"></p>
</ix:nonNumeric></ix:continuation></div>
<div style="margin-left:72pt"><ix:continuation id="c41" continuedAt="c43"><ix:continuation id="c42" continuedAt="c44"><table style="border-collapse:collapse"><tr><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" valign="top" style="width:216.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:72.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Expected dividend amount per quarter</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments" contextRef="Y24" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-12169">0.3150</ix:nonFraction>&#160;&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments" contextRef="Y23" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-12170">0.3090</ix:nonFraction>&#160;&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments" contextRef="Y22" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-12171">0.3050</ix:nonFraction>&#160;&#160;</p>
</td></tr>
<tr><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Expected stock price volatility</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="Y24" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12172">31.21</ix:nonFraction>%</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="Y23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12173">31.67</ix:nonFraction>%</p>
</td><td valign="top" style="width:72.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12174">29.87</ix:nonFraction>%</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate</p>
</td><td valign="top" style="background-color:#D3F0FE;width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="Y24" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12175">4.23</ix:nonFraction>%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="Y23" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12176">4.75</ix:nonFraction>%</p>
</td><td valign="top" style="background-color:#D3F0FE;width:72.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" contextRef="Y22" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12177">4.09</ix:nonFraction>%</p>
</td></tr>
<tr><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Expected life of options</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="Y24" format="ixt-sec:duryear" id="ixv-12178">5.8</ix:nonNumeric> years</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="Y23" format="ixt-sec:duryear" id="ixv-12179">5.6</ix:nonNumeric> years</p>
</td><td valign="top" style="width:72.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" contextRef="Y22" format="ixt-sec:duryear" id="ixv-12180">5.7</ix:nonNumeric> years</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c43" continuedAt="c45"><ix:continuation id="c44"></ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The per share weighted average fair value of options granted during 2024 is $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="Y24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12182">19.77</ix:nonFraction>, 2023 is $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12183">25.09</ix:nonFraction> and in 2022 is $<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12184">25.34</ix:nonFraction>.  </p>
</ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">50</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c45" continuedAt="c46"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 8 &#8211;&#160;Options</span> (continued)</p>
<ix:continuation id="c46"><p style="font:10pt Times New Roman;margin:0">All UTMD options vest over a four-year service period. &#160;At December 31, 2024 there was $<ix:nonFraction name="us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12185">898</ix:nonFraction> total unrecognized compensation expense related to non-vested stock options under the plans. A $<ix:nonFraction name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12186">329</ix:nonFraction> portion of the cost is expected to be recognized over the next <ix:nonNumeric name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition" contextRef="Y24" format="ixt-sec:durwordsen" id="ixv-12187">twelve months</ix:nonNumeric>, and the remaining $<ix:nonFraction name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears" contextRef="E24" decimals="INF" unitRef="USD" scale="0" format="ixt:num-dot-decimal" id="ixv-12188">570</ix:nonFraction> recognized over the next <ix:nonNumeric name="fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition" contextRef="Y24" format="ixt-sec:duryear" id="ixv-12189">4</ix:nonNumeric> years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#8217;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#8217;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table summarizes information about stock options outstanding at December 31, 2024:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock" contextRef="Y24" escape="true" id="ixv-8559"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:399pt"><tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" valign="middle" style="width:203pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Outstanding</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" valign="middle" style="width:116pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Exercisable</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Remaining</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" valign="middle" style="width:60pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Range of</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Actual</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Contractual</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" valign="middle" style="width:60pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Life</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" valign="middle" style="width:60pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Prices</span></p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Outstanding</span></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">(Years)</span></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Exercisable</span></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" contextRef="Y24_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12190">58.50</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" contextRef="Y24_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12191">64.09</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" contextRef="E24_StScenario-Range1" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12192">29,575</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:79pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:WeightedAverageRemainingContractualLifeYears" contextRef="E24_StScenario-Range1" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-12193">8.49</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" contextRef="E24_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12194">63.15</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" contextRef="E24_StScenario-Range1" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12195">4,975</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" contextRef="E24_StScenario-Range1" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12196">58.50</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" contextRef="Y24_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12197">74.64</ix:nonFraction></p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" contextRef="Y24_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12198">77.07</ix:nonFraction></p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" contextRef="E24_StScenario-Range2" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12199">48,310</ix:nonFraction></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:WeightedAverageRemainingContractualLifeYears" contextRef="E24_StScenario-Range2" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-12200">6.39</ix:nonFraction></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" contextRef="E24_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12201">76.60</ix:nonFraction></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" contextRef="E24_StScenario-Range2" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12202">34,210</ix:nonFraction></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" contextRef="E24_StScenario-Range2" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12203">76.41</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" contextRef="Y24_StScenario-Range3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12204">82.60</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" contextRef="Y24_StScenario-Range3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12205">82.60</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" contextRef="E24_StScenario-Range3" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12206">20,100</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:79pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:WeightedAverageRemainingContractualLifeYears" contextRef="E24_StScenario-Range3" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-12207">7.78</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" contextRef="E24_StScenario-Range3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12208">82.60</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" contextRef="E24_StScenario-Range3" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12209">10,050</ix:nonFraction></p>
</td><td valign="middle" style="background-color:#D3F0FE;width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" contextRef="E24_StScenario-Range3" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12210">82.60</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit" contextRef="Y24_StScenario-Range4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12211">58.50</ix:nonFraction></p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td valign="middle" style="width:26pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit" contextRef="Y24_StScenario-Range4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12212">82.60</ix:nonFraction></p>
</td><td valign="middle" style="width:4pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:63pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions" contextRef="E24_StScenario-Range4" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12213">97,985</ix:nonFraction></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:79pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="fil:WeightedAverageRemainingContractualLifeYears" contextRef="E24_StScenario-Range4" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-12214">7.31</ix:nonFraction></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1" contextRef="E24_StScenario-Range4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12215">73.77</ix:nonFraction></p>
</td><td valign="middle" style="width:6pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions" contextRef="E24_StScenario-Range4" decimals="INF" unitRef="Shares" scale="0" format="ixt:num-dot-decimal" id="ixv-12216">49,235</ix:nonFraction></p>
</td><td valign="middle" style="width:10pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td valign="middle" style="width:50pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1" contextRef="E24_StScenario-Range4" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12217">75.86</ix:nonFraction></p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:418pt"><tr style="height:7.2pt"><td valign="middle" style="width:226pt"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:226pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Exercised</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:48pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12218">77</ix:nonFraction> </p>
</td><td valign="middle" style="background-color:#D3F0FE;width:48pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12219">31</ix:nonFraction> </p>
</td><td valign="middle" style="background-color:#D3F0FE;width:48pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">$<ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12220">141</ix:nonFraction> </p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:226pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Outstanding</p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="E24" decimals="-3" unitRef="USD" format="ixt:fixed-zero" id="ixv-12221">-</ix:nonFraction></p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12222">814</ix:nonFraction></p>
</td><td valign="middle" style="width:48pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12223">1,812</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="fil:GeographicInformationTextBlock" contextRef="Y24" escape="true" id="ixv-8960"><p style="font:10pt Times New Roman;margin:0">Note 9 &#8211;&#160;Geographic Information</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company had sales in the following geographic areas based on the customer&#8217;s country of domicile:</p>
<ix:nonNumeric name="fil:ScheduleOfGeographicInformationTextBlock" contextRef="Y24" escape="true" id="ixv-8964"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:418.3pt"><tr style="height:7.2pt"><td valign="middle" style="width:223.2pt"/><td valign="middle" style="width:18.1pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:223.2pt"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:18.1pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInTheUnitedStates" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12224">23,873</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInTheUnitedStates" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12225">30,413</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInTheUnitedStates" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12226">34,524</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:223.2pt"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td valign="middle" style="width:18.1pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12227">8,705</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12228">8,918</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesInEurope" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12229">7,214</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:223.2pt"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:18.1pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12230">8,325</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12231">10,893</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:59pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"><ix:nonFraction name="fil:CompanySalesOther" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12232">10,543</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0"></p>
</ix:nonNumeric></ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><ix:nonNumeric name="fil:GeographicLongLivedAssetsInformationTextBlock" contextRef="Y24" escape="true" continuedAt="c47" id="ixv-12233">Note 10 &#8211;&#160;Long-lived Assets by Geographic Area </ix:nonNumeric></p>
<p style="font:10pt Times New Roman;margin:0"><ix:continuation id="c47" continuedAt="c48">&#160; </ix:continuation></p>
<p style="font:10pt Times New Roman;margin:0"><ix:continuation id="c48" continuedAt="c49">The Company&#8217;s long-lived assets by geographic area were as follows: </ix:continuation></p>
<ix:continuation id="c49"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock" contextRef="Y24" escape="true" id="ixv-9032"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:325pt"><tr style="height:7.2pt"><td valign="middle" style="width:149pt"/><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:149pt"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12236">11,124</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12237">11,462</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInTheUnitedStates" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12238">14,875</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:149pt"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12239">11,445</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12240">13,838</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInEngland" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12241">15,184</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:149pt"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12242">2,827</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12243">2,963</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInIreland" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12244">2,954</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:149pt"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td valign="middle" style="width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12245">290</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12246">336</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInAustralia" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12247">337</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:149pt"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:8pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12248">523</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12249">589</ix:nonFraction></kbd>&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"><ix:nonFraction name="fil:LongLivedAssetsInCanada" contextRef="E22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12250">593</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric></ix:continuation><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">51</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="fil:RevenuesbyproductcategoryandregionTextBlock" contextRef="Y24" escape="true" id="ixv-9129"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 11 &#8211;&#160;Revenues by Product Category and Geographic Region</span></p>
<kbd style="margin-left:10.8pt"></kbd><ix:nonNumeric name="fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock" contextRef="Y24" escape="true" id="ixv-9133"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Global revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td valign="top" style="width:202.5pt"/><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-Obstetrics_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12251">4,260</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Obstetrics_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12252">4,592</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Obstetrics_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12253">4,661</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12254">20,707</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12255">22,300</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12256">21,841</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-Neonatal_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12257">6,869</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Neonatal_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12258">6,863</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Neonatal_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12259">7,567</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td valign="top" style="width:49.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12260">9,067</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:45pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12261">16,469</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12262">18,212</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12263">40,903</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12264">50,224</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-Global" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12265">52,281</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:nonNumeric><ix:nonNumeric name="fil:ScheduleofousrevenuesbyproductcategoryTextBlock" contextRef="Y24" escape="true" id="ixv-9214"><p style="font:10pt Times New Roman;margin:0">Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td valign="top" style="width:202.5pt"/><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-Obstetrics_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12266">821</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Obstetrics_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12267">1,041</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Obstetrics_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12268">676</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12269">11,390</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12270">11,992</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12271">11,603</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-Neonatal_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12272">1,523</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-Neonatal_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12273">1,678</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-Neonatal_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12274">1,517</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td valign="top" style="width:49.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12275">3,724</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:45pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12276">7,309</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="width:49.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12277">6,514</ix:nonFraction></kbd>&#160;</p>
</td></tr>
<tr><td valign="top" style="background-color:#D3F0FE;width:202.5pt"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12278">17,458</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12279">22,020</ix:nonFraction></kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StGeo-Ous" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12280">20,310</ix:nonFraction></kbd>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="fil:ProductSaleAndPurchaseCommitmentsTextBlock" contextRef="Y24" escape="true" id="ixv-9295"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 12 - Product Sale and Purchase Commitments</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#8217;s cost of goods sold on an ongoing basis.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2024, 2023 and 2022, UTMD received royalties of $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12281">15</ix:nonFraction>, $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12282">20</ix:nonFraction> and $<ix:nonFraction name="us-gaap:RoyaltyIncomeNonoperating" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12283">20</ix:nonFraction>, respectively, for the use of intellectual property.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD had $<ix:nonFraction name="us-gaap:ContractualObligation" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12284">3,747</ix:nonFraction> in operating lease and purchase commitments as of December 31, 2024<b>. &#160;</b></p>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock" contextRef="Y24" escape="true" id="ixv-9305"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 13 &#8211;&#160;Employee Benefit Plans</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#8217;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12285">209</ix:nonFraction>, $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12286">184</ix:nonFraction> and $<ix:nonFraction name="us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12287">159</ix:nonFraction> for the years ended December 31, 2024, 2023 and 2022, respectively.</p>
</ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">52</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" contextRef="Y24" escape="true" continuedAt="c50" id="ixv-9317"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 14 &#8211;&#160;Leases</span></p>
<p style="font:10pt Times New Roman;margin:0">UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is <ix:nonNumeric name="fil:LesseeOperatingLeaseForParkingLotTermOfContract" contextRef="D241231" format="ixt-sec:duryear" id="ixv-12288">7</ix:nonNumeric> years and on the automobile is <ix:nonNumeric name="fil:LesseeOperatingLeaseForAutomobileTermOfContract" contextRef="D241231" format="ixt-sec:durmonth" id="ixv-12289">30</ix:nonNumeric> months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $<ix:nonFraction name="fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12290">87</ix:nonFraction> to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#8217;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Operating lease costs for the years ended December 31, 2024, 2023, and 2022 were $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12291">66</ix:nonFraction>, $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12292">65</ix:nonFraction>, and $<ix:nonFraction name="us-gaap:OperatingLeaseCost" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12293">64</ix:nonFraction>, respectively.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">Supplemental balance sheet information related to operating leases was as follows (<i>in thousands</i>):</p>
<ix:nonNumeric name="fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock" contextRef="Y24" escape="true" id="ixv-9324"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:15pt"><td valign="middle" style="width:74.62%"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="width:25.38%"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:15pt"><td valign="middle" style="background-color:#D3F0FE;width:74.62%"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease right-of-use assets</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:25.38%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12294">338</ix:nonFraction></p>
</td></tr>
<tr style="height:15pt"><td valign="middle" style="width:74.62%"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, current (included in Accrued Expenses)</p>
</td><td valign="middle" style="width:25.38%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12295">56</ix:nonFraction></p>
</td></tr>
<tr style="height:15pt"><td valign="middle" style="background-color:#D3F0FE;width:74.62%"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, long-term</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:25.38%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12296">282</ix:nonFraction></p>
</td></tr>
<tr style="height:15pt"><td valign="middle" style="width:74.62%"><p style="font:10pt Times New Roman;margin:0;color:#000000">Total operating lease liabilities</p>
</td><td valign="middle" style="width:25.38%"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12297">338</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">&#160;</p>
<ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" contextRef="Y24" escape="true" continuedAt="c51" id="ixv-9354"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:481.5pt"><tr style="height:7.2pt"><td valign="middle" style="width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Maturities of operating lease liabilities at December 31, 2024 were as follows (<i>in thousands</i>):</p>
</td><td valign="middle" style="width:121.5pt"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">2025 (less imputed interest)</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12298">55</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">2026 (less imputed interest)</p>
</td><td valign="middle" style="width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12299">58</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">2027 (less imputed interest)</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12300">55</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">2028 (less imputed interest)</p>
</td><td valign="middle" style="width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12301">44</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">2029 (less imputed interest)</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12302">46</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000">Thereafter (less imputed interest)</p>
</td><td valign="middle" style="width:121.5pt;border-bottom:1pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12303">80</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12304">364</ix:nonFraction>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td valign="middle" style="width:121.5pt;border-bottom:3px double #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(<ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12305">26</ix:nonFraction>)</p>
</td></tr>
<tr style="height:7.2pt"><td valign="middle" style="background-color:#D3F0FE;width:360pt"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:121.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;<ix:nonFraction name="us-gaap:OperatingLeaseLiability" contextRef="E24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12306">338</ix:nonFraction>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">The following table provides information on the lease terms and discount rates:</p>
</ix:nonNumeric></ix:nonNumeric></div>
<div style="margin-left:72pt"><ix:continuation id="c50" continuedAt="c52"><ix:continuation id="c51" continuedAt="c53"><table style="border-collapse:collapse;margin-left:5.65pt"><tr><td valign="top" style="background-color:#D3F0FE;width:239.4pt"><p style="font:10pt Times New Roman;margin:0">Weighted-average remaining lease term (in years)</p>
</td><td valign="top" style="background-color:#D3F0FE;width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" contextRef="E24" format="ixt-sec:duryear" id="ixv-12307">6.1</ix:nonNumeric></p>
</td></tr>
<tr><td valign="top" style="width:239.4pt"><p style="font:10pt Times New Roman;margin:0">Weighted-average discount rate</p>
</td><td valign="top" style="width:81pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" contextRef="E24" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12308">4.3</ix:nonFraction>%</p>
</td></tr>
</table>
</ix:continuation></ix:continuation></div>
<div style="margin-left:72pt;width:482.4pt"><ix:continuation id="c52"><ix:continuation id="c53"></ix:continuation></ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:IntangibleAssetsDisclosureTextBlock" contextRef="Y24" escape="true" id="ixv-9427"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">Note 15 - Distribution Agreement Purchase</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $<ix:nonFraction name="us-gaap:FinitelivedIntangibleAssetsAcquired1" contextRef="Y24_DistributionRightsAcquisition-CoopersurgicalInc" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12311">21,000</ix:nonFraction> purchase price represented an identifiable intangible asset which was straight-line amortized and recognized as part of G&amp;A expenses over the <ix:nonFraction name="fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem" contextRef="Y24_DistributionRightsAcquisition-CoopersurgicalInc" decimals="INF" unitRef="Pure" scale="0" format="ixt:num-dot-decimal" id="ixv-12312">4.75</ix:nonFraction> year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement became fully amortized in 4<span style="vertical-align:super">th</span> quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.</p>
</ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">53</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" contextRef="Y24" escape="true" id="ixv-9440"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 16 - Earnings Per Share</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2024.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" contextRef="Y24" escape="true" id="ixv-9446"><p style="font:10pt Times New Roman;margin:0">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td valign="top" style="width:247.5pt"/><td valign="middle" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="middle" style="width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0"><b>Numerator </b><i>(in thousands)</i></p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:63.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12313">13,874</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12314">16,635</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12315">16,473</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:63.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0"><b>Denominator</b></p>
</td><td valign="top" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:63.9pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Weighted average shares, basic</p>
</td><td valign="middle" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12316">3,503</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12317">3,629</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12318">3,637</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Dilutive effect of stock options</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:76.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y24" decimals="-3" unitRef="Shares" format="ixt:fixed-zero" id="ixv-12319">-</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:67.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12320">8</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63.9pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12321">6</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Diluted shares</p>
</td><td valign="middle" style="width:76.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y24" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12322">3,503</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:67.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y23" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12323">3,637</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:63.9pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" contextRef="Y22" decimals="-3" unitRef="Shares" scale="3" format="ixt:num-dot-decimal" id="ixv-12324">3,643</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Earnings per share, basic</p>
</td><td valign="middle" style="width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12325">3.96</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12326">4.58</ix:nonFraction></p>
</td><td valign="top" style="width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12327">4.53</ix:nonFraction></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE;width:247.5pt"><p style="font:10pt Times New Roman;margin:0">Earnings per share, diluted</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:76.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y24" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12328">3.96</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:67.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y23" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12329">4.57</ix:nonFraction></p>
</td><td valign="top" style="background-color:#D3F0FE;width:13.5pt"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td valign="middle" style="background-color:#D3F0FE;width:63.9pt"><p style="font:10pt Times New Roman;margin:0;text-align:right"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" contextRef="Y22" decimals="INF" unitRef="UsdPerShare" scale="0" format="ixt:num-dot-decimal" id="ixv-12330">4.52</ix:nonFraction></p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:SegmentReportingDisclosureTextBlock" contextRef="Y24" escape="true" continuedAt="c54" id="ixv-9599"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 17 &#8211;&#160;Segment Information</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">The Company operates as one operating segment. &#160;The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) 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.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">The following table presents selected financial information with respect to the Company&#8217;s single operating segment for the years ended December 31, 2024, 2023 and 2022:</p>
<ix:nonNumeric name="us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock" contextRef="Y24" escape="true" continuedAt="c55" id="ixv-9604"><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:428.05pt"><tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Year Ended December 31,</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"/><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Revenues</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12331">40,903</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12332">50,224</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12333">52,281</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Less:</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Standard cost of sales</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:StandardCostOfSales" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12334">13,406</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:StandardCostOfSales" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12335">17,400</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:StandardCostOfSales" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12336">16,939</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other cost of sales</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OtherCostOfSales" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12337">3,353</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OtherCostOfSales" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12338">2,786</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OtherCostOfSales" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12339">3,146</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12340">24,143</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12341">30,038</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:GrossProfit" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12342">32,196</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit Margin</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:GrossProfitMargin" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12343">59.0</ix:nonFraction>%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:GrossProfitMargin" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12344">59.8</ix:nonFraction>%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:GrossProfitMargin" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12345">61.6</ix:nonFraction>%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Sales &amp; Marketing</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12346">1,901</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12347">1,685</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12348">1,507</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Research &amp; Development</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12349">813</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12350">560</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12351">493</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Litigation Fees</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:LitigationExpense" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12352">2,139</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:LitigationExpense" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12353">1,660</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:LitigationExpense" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12354">670</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Amortization</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12355">2,030</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12356">5,661</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:AmortizationOfIntangibleAssets" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12357">6,386</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other General &amp; Administrative</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12358">3,666</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12359">3,695</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherSellingGeneralAndAdministrativeExpense" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12360">3,350</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Operating Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12361">13,594</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12362">16,777</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12363">19,790</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Operating Income Margin</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OperatingIncomeMargin" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12364">33.2</ix:nonFraction>%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OperatingIncomeMargin" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12365">33.4</ix:nonFraction>%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="fil:OperatingIncomeMargin" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="INF" unitRef="Pure" scale="-2" format="ixt:num-dot-decimal" id="ixv-12366">37.9</ix:nonFraction>%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other Income</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Interest income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12367">3,367</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12368">3,036</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherInterestAndDividendIncome" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12369">661</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other income (expense)</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">(<ix:nonFraction name="us-gaap:OtherOperatingIncomeExpenseNet" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" sign="-" scale="3" format="ixt:num-dot-decimal" id="ixv-12370">159</ix:nonFraction>)&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherOperatingIncomeExpenseNet" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12371">276</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:OtherOperatingIncomeExpenseNet" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12372">209</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Income before income taxes</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12373">16,802</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12374">20,089</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12375">20,659</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12376">2,928</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12377">3,454</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:56pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12378">4,186</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y24_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12379">13,874</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y23_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12380">16,635</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"><ix:nonFraction name="us-gaap:ProfitLoss" contextRef="Y22_StScenario-SingleOperatingSeg" decimals="-3" unitRef="USD" scale="3" format="ixt:num-dot-decimal" id="ixv-12381">16,473</ix:nonFraction>&#160;&#160;</kbd>&#160;</p>
</td></tr>
</table>
</ix:nonNumeric></ix:nonNumeric><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">54</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Utah Medical Products, Inc.</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Notes to Consolidated Financial Statements</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">Years Ended December 31, 2024, 2023 and 2022</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><ix:continuation id="c54"><ix:continuation id="c55"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</ix:continuation><p style="font:10pt Times New Roman;margin:0">See the consolidated financial statements for other financial information regarding the Company&#8217;s operating segment.</p>
</ix:continuation><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" contextRef="Y24" escape="true" id="ixv-9969"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 18 &#8211;&#160;Recent Accounting Pronouncements</span></p>
<ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" contextRef="Y24" escape="true" id="ixv-9972"><p style="font:10pt Times New Roman;margin:0">In November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07, <i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>, requiring public entities to disclose information about their reportable segments&#8217; significant expenses and other segment items on an interim and annual basis. &#160;Public entities with a single reportable segment are required to apply the disclosure requirements in ASU 2023-07, as well as all existing segment disclosures and reconciliation requirements in ASC 280 on an interim and annual basis. &#160;The Company adopted ASU 2023-07 during the year ended December 31, 2024. &#160;See Note 17 Segment Information in the accompanying notes to the consolidated financial statements for further detail.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires public entities, on an annual basis, to provide disclosure of specific categories in the rate reconciliation, as well as disclosure of income taxes paid disaggregated by jurisdiction. &#160;ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting AUS 2023-09.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In November 2024, the FASB issued ASU 2024-03, Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, 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.</p>
</ix:nonNumeric></ix:nonNumeric><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<ix:nonNumeric name="us-gaap:SubsequentEventsTextBlock" contextRef="Y24" escape="true" id="ixv-9980"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 19 &#8211;&#160;Subsequent Events</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluated its December 31, 2024 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. &#160;After December 31, 2024 through March 25, 2025, the Company made additional repurchases of 53,340 shares of its stock in the open market for $3,169, at an average price of $59.41 per share.</p>
</ix:nonNumeric><p style="font:10pt Times New Roman;margin:0"> &#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">55</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center"> &#160;</p>
<a id="a13"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 9 &#8211;&#160;CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>None.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a14"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 9A &#8211;&#160;CONTROLS AND PROCEDURES</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Evaluation of Disclosure Controls and Procedures.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>UTMD Management is responsible for establishing and maintaining adequate internal control over financial reporting, as defined in the Securities Exchange Act of 1934 Rule 13a-15(e). &#160;UTMD&#8217;s Board of Directors, operating through its Audit Committee, provides oversight to its financial reporting process.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>During 2024, UTMD evaluated the effectiveness of the design and operation of its disclosure controls and procedures. Based on that evaluation, UTMD&#8217;s Chief Executive Officer and Principal Financial Officer concluded that, as of December 31, 2024, its disclosure controls and procedures were effective.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Management&#8217;s Report on Internal Control Over Financial Reporting.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Pursuant to Section 404 of the Sarbanes-Oxley Act of 2002, the Company has included, as part of this Form 10-K, a report of management's assessment of the effectiveness of its internal controls as of December 31, 2024. &#160;Management's report appears on page 34 of this Form 10-K under the caption "Management's Report on Internal Control Over Financial Reporting" and is incorporated herein by reference. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Changes in Internal Control Over Financial Reporting.</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>There have been no changes in UTMD&#8217;s internal control over financial reporting that materially affected, or were reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting during the fourth quarter of the fiscal year ended December 31, 2024, and there were no material weaknesses.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a15"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 9B &#8211;&#160;OTHER INFORMATION</b></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>Rule 10b5-1 Trading Plans.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">During 2024, <ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" contextRef="Y24" format="ixt:fixed-false" id="ixv-12382"><ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" contextRef="Y24" format="ixt:fixed-false" id="ixv-12383"><ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" contextRef="Y24" format="ixt:fixed-false" id="ixv-12384"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" contextRef="Y24" format="ixt:fixed-false" id="ixv-12385">none</ix:nonNumeric></ix:nonNumeric></ix:nonNumeric></ix:nonNumeric> of UTMD&#8217;s directors or executive officers adopted Rule 10b5-1, and none of UTMD&#8217;s directors or executive officers terminated a Rule 10b5-1 trading plan or adopted or terminated a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation S-K). </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a16"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 9C &#8211;&#160;DISCLOSURE REGARDING FOREIGN JURISDICTIONS THAT PREVENT INSPECTIONS</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:9pt"></kbd>None. &#160;&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">56</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART III</b></span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a17"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 10 &#8211;&#160;DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders under the captions, &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;PROPOSAL NO. 1. ELECTION OF DIRECTORS: General,&#8221; and &#8220;Directors and Nominees,&#8221; &#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;SECURITY OWNERSHIP OF MANAGEMENT AND CERTAIN PERSONS,&#8221; and &#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;EXECUTIVE OFFICER COMPENSATION: 2024 Director Compensation,&#8221; &#160;</p>
<p style="font:10pt Times New Roman;margin:0">is incorporated herein by reference. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>UTMD adopted a Code of Ethics for its executive officers, including the Chief Executive Officer and outside directors, in October 2003. &#160;The Code of Ethics, along with UTMD&#8217;s Code of Conduct, which covers all exempt employees (including all officers and outside directors) and certain non-exempt employees, is posted on UTMD&#8217;s web site at <span style="border-bottom:1px solid #000000">www.utahmed.com</span>. &#160;UTMD intends to post on its website any waivers of or amendments to its Code of Ethics. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a18"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 11 - EXECUTIVE COMPENSATION</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders under the captions,&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;EXECUTIVE OFFICER COMPENSATION,&#8221;&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;COMPENSATION DISCUSSION AND ANALYSIS,&#8221; and&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;BOARD OF DIRECTORS AND OTHER BOARD COMMITTEE REPORTS: Compensation and Option Committee Interlocks and Insider Participation,&#8221; specifically excluding the &#8220;Report of the Compensation Committee&#8221;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">is incorporated herein by reference. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a19"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 12 - SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders under the captions, &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;SECURITY OWNERSHIP OF MANAGEMENT AND CERTAIN PERSONS&#8221; and&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;DISCLOSURE RESPECTING THE COMPANY&#8217;S EQUITY COMPENSATION PLANS&#8221; &#160;</p>
<p style="font:10pt Times New Roman;margin:0">is incorporated herein by reference.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a20"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 13 - CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE</b> </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders under the captions, &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS&#8221;&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:36pt"><kbd style="position:absolute;font:10pt Symbol;margin-left:-18pt">&#183;</kbd><kbd style="margin-left:-4.5pt"></kbd>&#8220;BOARD OF DIRECTORS AND OTHER BOARD COMMITTEE REPORTS: Director Independence&#8221;&#160;</p>
<p style="font:10pt Times New Roman;margin:0">is incorporated herein by reference.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders in the first paragraph under the caption, &#8220;Report of the Audit Committee&#8221; is incorporated herein by reference.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a21"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 14 &#8211;&#160;PRINCIPAL ACCOUNTING FEES AND SERVICES</b></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="margin-left:7.2pt"></kbd>The information from the definitive proxy statement of the registrant for the 2025 annual meeting of stockholders under the caption &#8220;PROPOSAL NO 2. RATIFICATION OF THE APPOINTMENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM: Fees billed by Haynie &amp; Company,&#8221; &#8220;Audit Committee Policy and Approval,&#8221; and &#8220;Auditor Independence&#8221; are incorporated herein by reference. &#160;&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">57</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>PART IV</b></span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<a id="a22"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 15 &#8211;&#160;EXHIBITS, FINANCIAL STATEMENT SCHEDULES</b></p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:7.2pt"></kbd>(a) &#160;The following documents are filed as part of this report or incorporated herein by reference.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7.2pt">1.</kbd><kbd style="margin-left:22.5pt"></kbd>Financial Statements.&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:22.5pt"></kbd>(See Table of Contents in Item 8 above.)&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7.2pt">2.</kbd><kbd style="margin-left:22.5pt"></kbd>Supplemental Schedule.&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:22.5pt"></kbd>Financial Statement Schedules are omitted because they are inapplicable or the required information is otherwise included in the accompanying Financial Statements and the notes thereto.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7.2pt">3.</kbd><kbd style="margin-left:22.5pt"></kbd>Exhibits.&#160;</p>
<table cellspacing="4" style="width:440.35pt"><tr style="height:30.15pt"><td valign="bottom" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Exhibit #</span></p>
</td><td valign="bottom" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Title of Document</span></p>
</td><td valign="bottom" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Location</span></p>
</td></tr>
<tr style="height:28.7pt"><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690605000089/utahmed10k12312004ex1.txt" style="text-decoration:none">Articles of Restatement of the Articles of Incorporation</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (1)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.2</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690605000089/utahmed10k12312004ex2.txt" style="text-decoration:none">Articles of Correction to the Restated Articles of Incorporation</a></span> </p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (1)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">3.3</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690614000174/exhibit99-1.htm" style="text-decoration:none">Bylaws</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (2)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">10.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690604000128/utmd10kdec2003ex-10.txt" style="text-decoration:none">Employment Agreement dated December 21, 1992 with Kevin L. Cornwell*</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (3)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">10.2</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690604000128/utmd10kdec2003ex10-2.txt" style="text-decoration:none">Amendment, effective May 15, 1998, to Employment Agreement dated December 21, 1992 with Kevin L. Cornwell*</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (3)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">10.3</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/ix?doc=/Archives/edgar/data/706698/000181188424000009/utmd-20231231.htm" style="text-decoration:none">Utah Medical Products, Inc. 2013 Employees&#8217; and Directors&#8217; Incentive Plan*</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (4)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">10.4</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="http://www.sec.gov/Archives/edgar/data/706698/000109690623001418/utmd_ex10z6.htm" style="text-decoration:none">Utah Medical Products, Inc., 2023 Employees&#8217; and Directors&#8217; Incentive Plan*</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">Incorporated by Reference (5)</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">10.5</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utah_ex10z5.htm" style="text-decoration:none">Summary of Officer and Director Compensation</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">19.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex19z1.htm" style="text-decoration:none">Insider Trading Policy</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">21.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex21z1.htm" style="text-decoration:none">Subsidiaries of Utah Medical Products, Inc.</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">23.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex23z1.htm" style="text-decoration:none">Consent of Haynie &amp; Company, UTMD&#8217;s independent auditors for the years ended December 31, 2024 and December 31, 2023</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">23.2</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex23z2.htm" style="text-decoration:none">Consent of Nortons Assurance Limited, Femcare Group Limited&#8217;s independent auditors for the years ended December 31, 2024 and December 31, 2023</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This filing</p>
</td></tr>
<tr style="height:27.1pt"><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">31.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex31z1.htm" style="text-decoration:none">Certification of CEO pursuant to Rule 13a-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">31.2</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex31z2.htm" style="text-decoration:none">Certification of Principal Financial Officer pursuant to Rule 13a-14(a) as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">32.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex32z1.htm" style="text-decoration:none">Certification of CEO pursuant to 18 U.S.C. &#167;1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">32.2</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex32z2.htm" style="text-decoration:none">Certification of Principal Financial Officer pursuant to 18 U.S.C. &#167;1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">97.1</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0"><span style="color:#0000FF;border-bottom:1px solid #0000FF"><a href="utmd_ex97z1.htm" style="text-decoration:none">Policy Relating to Recovery of Erroneously Awarded Compensation</a></span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
</table>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">58</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><table cellspacing="4" style="width:440.35pt"><tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Exhibit #</span></p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Title of Document</span></p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Location</span></p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.ins</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Instance Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.xsd</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Taxonomy Extension Schema Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.cal</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Taxonomy Extension Calculation Linkbase Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.def</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Taxonomy Extension Definition Linkbase Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.tab</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Taxonomy Extension Label Linkbase Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
<tr><td valign="top" style="width:64pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0;text-align:center">101.pre</p>
</td><td valign="top" style="width:271pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">XBRL Taxonomy Extension Presentation Linkbase Document</p>
</td><td valign="top" style="width:88.15pt;padding-left:5.75pt;padding-right:5.75pt"><p style="font:10pt Times New Roman;margin:0">This Filing</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0;margin-right:646.35pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-right:646.35pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">* Management contract of compensatory plan or arrangement required to be filed pursuant to Item 14(c).</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:9pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:40.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">(1)</kbd>Incorporated by reference from the Company&#8217;s annual report on form 10-K filed with the Commission for the year ended December 31, 2004.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:40.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">(2)</kbd>Incorporated by reference from the Company&#8217;s report on form 8-K filed with the Commission on February 13, 2014.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:40.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">(3)</kbd>Incorporated by reference from the Company&#8217;s annual report on form 10-K filed with the Commission for the year ended December 31, 2003.&#160;</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:40.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">(4)</kbd>Incorporated by reference from the Company&#8217;s 2013 definitive proxy statement on form DEF 14A filed with the Commission on March 7, 2013.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:40.5pt"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:-18pt">(5)</kbd>Incorporated by reference from the Company&#8217;s report on form S-8 filed with the Commission on July 14, 2023.&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-indent:-18pt;margin-left:40.3pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;margin-left:40.5pt"><kbd style="margin-left:-18pt"></kbd> &#160;</p>
<a id="a23"></a><p style="font:10pt Times New Roman;margin:0"><b>ITEM 16 &#8211;&#160;FORM 10-K SUMMARY</b></p>
<p style="font:10pt Times New Roman;margin:0;margin-left:40.5pt"><kbd style="margin-left:-31.5pt"></kbd>None.&#160;</p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">59</p>
<hr style="page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0"/><p style="line-height:0;margin:0"></p>
<hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><a id="a24"></a><p style="font:10pt Times New Roman;margin:0;text-indent:-40.5pt;margin-left:40.5pt;text-align:center"><b>SIGNATURES</b></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Pursuant to the requirements of Section 13 or 15(d) of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the undersigned this 26th day of March 2025.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">UTAH MEDICAL PRODUCTS, INC.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse"><tr><td valign="top" style="width:94.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27.15pt"><p style="font:10pt Times New Roman;margin:0">By:</p>
</td><td valign="top" style="width:13.5pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:126pt;border-bottom:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">/s/ Kevin L. Cornwell</p>
</td></tr>
<tr><td valign="top" style="width:94.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:139.5pt;border-top:0.5pt solid #000000"><p style="font:10pt Times New Roman;margin:0">Kevin L. Cornwell</p>
</td></tr>
<tr><td valign="top" style="width:94.35pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:27.15pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:139.5pt"><p style="font:10pt Times New Roman;margin:0">Chief Executive Officer</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:482.4pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="margin-left:9pt"></kbd>Pursuant to the requirements of the Securities Exchange Act of 1934, this report has been signed below by the following persons on behalf of the registrant and in the capacities indicated on this 26th day of March 2025.&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
</div>
<div style="margin-left:72pt"><table style="border-collapse:collapse"><tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ James H. Beeson</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">James H. Beeson, Director</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ Kevin L. Cornwell</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">Kevin L. Cornwell, Director</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ Ernst G. Hoyer</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">Ernst G. Hoyer, Director</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ Barbara A. Payne</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">Barbara A. Payne, Director</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ Paul O. Richins</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">Paul O. Richins, Director</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" valign="top" style="width:175.5pt"><p style="font:10pt Times New Roman;margin:0">By: &#160;<span style="border-bottom:1px solid #000000"> /s/ Carrie Leigh</span></p>
</td></tr>
<tr><td valign="top" style="width:94.5pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:18pt"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top" style="width:157.5pt"><p style="font:10pt Times New Roman;margin:0">Carrie Leigh, Director</p>
</td></tr>
</table>
</div>
<div style="margin-left:72pt;width:482.4pt"><hr style="border:0;height:0;width:0;margin:14pt 0 0 0"/><p style="font:10pt Times New Roman;margin:0;text-align:center">60</p>
</div>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-10.5
<SEQUENCE>2
<FILENAME>utmd_ex10z5.htm
<DESCRIPTION>SUMMARY OF OFFICER AND DIRECTOR COMPENSATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;<B>Exhibit 10.5</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SUMMARY of OFFICER and DIRECTOR COMPENSATION </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>The Employment Agreement in Exhibits 7 &amp; 8 of this report is the only written contractual compensation arrangement the Company has with any of its Directors and Executive Officers. &nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>During 2025, the Company&#8217;s Chief Executive and Principal Financial Officer (the Company&#8217;s &#8220;Named Executive Officers&#8221;) are scheduled to receive the following compensation from the Company: &nbsp;</P>
<TABLE style=border-collapse:collapse;width:405pt;margin-left:27.9pt><TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><FONT style='border-bottom:1px solid #000000'>Compensation Arrangement</FONT></P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><FONT style='border-bottom:1px solid #000000'>2025 Scheduled Amount</FONT></P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Base salary</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>$80,700 (CEO); $147,700 (PFO)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>401(k) matching contributions</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7,920 (maximum)</P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Section 125 plan matching contributions (1)</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;500 (maximum)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Management bonus</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>will be determined at year-end</P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Pet health benefits (1)</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;500 (maximum)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Family medical benefits (1)</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>will depend on future events </P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:216pt><P style='font:10pt Times New Roman;margin:0'>Travel expense reimbursement (2)</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top bgcolor=#D3F0FE style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5,000 (CEO); 500 (PFO)</P>
</TD></TR>
<TR><TD valign=top style=width:216pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:13.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:175.5pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD></TR>
</TABLE>
<P style='font:10pt Times New Roman;margin:0'>During 2025, the Company&#8217;s Directors are scheduled to receive the following compensation from the Company:</P>
<TABLE style=border-collapse:collapse;width:435.6pt;margin-left:23.4pt><TR><TD valign=top style=width:157.5pt><P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'><FONT style='border-bottom:1px solid #000000'>Compensation Arrangement</FONT></P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Ernst<BR><FONT style='border-bottom:1px solid #000000'>Hoyer</FONT></P>
</TD><TD valign=top style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Barbara<BR><FONT style='border-bottom:1px solid #000000'>Payne</FONT></P>
</TD><TD valign=top style=width:54pt><P align=right style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>James<BR><FONT style='border-bottom:1px solid #000000'>Beeson</FONT></P>
</TD><TD valign=top style=width:54pt><P align=right style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Paul<BR><FONT style='border-bottom:1px solid #000000'>Richins </FONT></P>
</TD><TD valign=top style=width:53.1pt><P align=right style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt'>Carrie<BR><FONT style='border-bottom:1px solid #000000'>Leigh</FONT></P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:157.5pt><P style='font:10pt Times New Roman;margin:0'>Base</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>$ 30,600</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>$ 7,650</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>$ 30,600</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>$ 30,600</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:53.1pt><P align=right style='font:10pt Times New Roman;margin:0'>$ 30,600</P>
</TD></TR>
<TR><TD valign=top style=width:157.5pt><P style='font:10pt Times New Roman;margin:0'>Executive Committee</P>
</TD><TD valign=bottom style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>4,200</P>
</TD><TD valign=bottom style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom style=width:53.1pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD></TR>
<TR><TD valign=top bgcolor=#D3F0FE style=width:157.5pt><P style='font:10pt Times New Roman;margin:0'>Audit Committee Chairman</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>4,200</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom bgcolor=#D3F0FE style=width:53.1pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD></TR>
<TR><TD valign=top style=width:157.5pt><P style='font:10pt Times New Roman;margin:0'>Travel Expense Reimbursement (2)</P>
</TD><TD valign=bottom style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>250</P>
</TD><TD valign=bottom style=width:58.5pt><P align=right style='font:10pt Times New Roman;margin:0'>-</P>
</TD><TD valign=bottom style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>400</P>
</TD><TD valign=bottom style=width:54pt><P align=right style='font:10pt Times New Roman;margin:0'>50</P>
</TD><TD valign=bottom style=width:53.1pt><P align=right style='font:10pt Times New Roman;margin:0'>250</P>
</TD></TR>
</TABLE>
<P style='font:11pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:9pt Times New Roman;margin:0'>(1) &nbsp;&nbsp;CEO and PFO participate on the same basis as other eligible employees.</P>
<P style='font:9pt Times New Roman;margin:0'>(2) &nbsp;&nbsp;Estimated 2025 travel expenses on behalf of UTMD business. &nbsp;The Company reimburses its employees and directors for authorized business expenses.</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-19.1
<SEQUENCE>3
<FILENAME>utmd_ex19z1.htm
<DESCRIPTION>INSIDER TRADING POLICY
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:66pt;width:480pt><HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=right style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'><B>Exhibit 19.1</B></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin-top:11.55pt;margin-bottom:4pt;color:#0F4761'><FONT style=color:#000000>UTAH MEDICAL PRODUCTS, INC.</FONT></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>STATEMENT OF POLICY REGARDING COMPLIANCE WITH FEDERAL </B><BR><B>SECURITIES LAWS</B></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>July 25, 2003</B></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P align=justify style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:4pt;color:#0F4761'><FONT style=color:#000000>THIS STATEMENT OF POLICY REGARDING COMPLIANCE WITH THE FEDERAL SECURITIES LAWS IS INTENDED TO FAMILIARIZE YOU WITH YOUR OBLIGATIONS AND RESPONSIBILITIES UNDER VARIOUS FEDERAL SECURITIES LAWS RELATING TO TRADING IN THE SECURITIES OF UTAH MEDICAL PRODUCTS, INC. IN THE INTEREST OF BREVITY, THIS STATEMENT OF APPLICABLE STATUTES, RULES AND REGULATIONS HAS BEEN CONDENSED AND SUMMARIZED AND IS THEREFORE NOT COMPREHENSIVE. THE STATEMENT IS INTENDED TO PROVIDE A QUICK REFERENCE TO VARIOUS FEDERAL SECURITIES LAWS AND IS NOT INTENDED NOR SHOULD IT BE RELIED UPON AS A DEFINITIVE GUIDE WITH RESPECT TO TRANSACTIONS INVOLVING SECURITIES OF UTAH MEDICAL PRODUCTS, INC.</FONT></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt;margin-left:6pt'><B>FAILURE TO COMPLY WITH FEDERAL SECURITIES LAWS HAS THE POTENTIAL FOR SIGNIFICANT LIABILITY EXPOSURE NOT ONLY FOR YOU AS AN INDIVIDUAL BUT ALSO FOR THE COMPANY THAT YOU REPRESENT. THE SECURITIES AND EXCHANGE COMMISSION, THE U.S. ATTORNEY'S OFFICE AND PRIVATE ATTORNEYS VIGOROUSLY PURSUE VIOLATIONS OF FEDERAL SECURITIES LAWS. BY FEDERAL LAW, THE COMPANY MUST ALSO MONITOR AND ENFORCE VIOLATIONS OF FEDERAL SECURITIES LAWS BY COMPANY PERSONNEL. THE COMPANY MUST, UNDER CERTAIN CIRCUMSTANCES, DISCLOSE VIOLATIONS IN REPORTS ISSUED TO THE SECURITIES AND EXCHANGE COMMISSION AND THE COMPANY'S SHAREHOLDERS.</B></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;text-indent:36pt;margin-left:6pt'><B>IN LIGHT OF THE COMPLEXITY OF FEDERAL SECURITIES LAWS AND THE SIGNIFICANT PENALTIES THAT MAY BE IMPOSED, THE COMPANY STRONGLY RECOMMENDS THAT ANY DIRECTOR, OFFICER OR EMPLOYEE CONTEMPLATING A TRANSACTION IN THE COMPANY'S SECURITIES FIRST CONTACT THE COMPANY'S COMPLIANCE OFFICER IN ORDER TO IDENTIFY ANY SECURITIES LAWS IMPLICATIONS OF THE PROPOSED TRANSACTION. ALL MATTERS INVOLVING THE COMPANY'S SECURITIES SHOULD BE COORDINATED, IN ADVANCE, WITH THE COMPANY'S COMPLIANCE OFFICER.</B></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;text-indent:36pt;margin-left:5.95pt'><B>PLEASE READ THE STATEMENT IN ITS ENTIRETY, THEN SIGN AND DATE THE APPROPRIATE CERTIFICATION SET FORTH AT THE CONCLUSION OF THE STATEMENT.</B></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>1.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>EXECUTIVE</B><B> </B><B>SUMMARY</B></FONT><B>.</B>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>This Statement of Policy Regarding Compliance With Federal Securities Laws (the &quot;<FONT style='border-bottom:1px solid #000000'><B>Statement</B></FONT>&quot;) describes the most important features of federal statutes, rules and regulations (collectively the &quot;<FONT style='border-bottom:1px solid #000000'><B>Securities Laws</B></FONT>&quot;) applicable to transactions involving the securities of Utah Medical Products, Inc. (the &quot;<FONT style='border-bottom:1px solid #000000'><B>Company</B></FONT>&quot;). This Executive Summary highlights in summary fashion topics that are covered in greater detail in this Statement. You are urged to read the entire Statement in order to more fully understand what is required of you. Topics discussed in this Statement are summarized as follows:</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Confidentiality of Inside Information</B></FONT>. Directors, officers and employees must maintain inside information about the Company in strict confidence and not communicate such information to any person unless such person has a need to know the information for legitimate Company-related reasons.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.2</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Prohibition on Insider Trading</B></FONT>. No director, officer or employee may trade (purchase or sell) in Company securities while in the possession of material, non-public information concerning the Company or its affairs. This prohibition extends to relatives, friends and others to whom you have disclosed any material, non-public information or have made a recommendation to purchase or sell the Company's securities.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Section 16 Obligations</B></FONT>. Section 16 of the Securities Exchange Act of 1934 (the &quot;<FONT style='border-bottom:1px solid #000000'><B>Exchange Act</B></FONT>&quot;) generally provides that directors and officers, and shareholders who own more than ten percent of the Company's outstanding securities, are required to (1) report to and on forms prescribed by the Securities and Exchange Commission (the &quot;<FONT style='border-bottom:1px solid #000000'><B>SEC</B></FONT>&quot;) their ownership of and transactions in securities of the Company, (2) disgorge to the Company all profits obtained from a purchase and sale (or a sale and purchase) within a six-month time period and (3) refrain from engaging in any &quot;short sale&quot; of the Company's securities. Section 16 is a strict liability statute in that it applies without regard to improper motives or bad acts on the part of the person violating the statute. Reports of ownership and transactions in the Company's securities must be filed within specified time frames. The appropriate forms and time limitations are available from the Company's Compliance Officer.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.4</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Restrictions on Resales of Company Securities</B></FONT>. Any person holding &quot;restricted securities&quot; (<FONT style='border-bottom:1px solid #000000'>i.e.</FONT>, securities which have not previously been registered under the Securities Act of 1933 with the SEC) generally should make public resales of such securities in accordance with SEC Rule 144, which restricts the amount, manner of sale and timing of sales of the Company's restricted securities. Private resales may also be made subject to certain restrictions depending upon the circumstances.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.55pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.5</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Restrictions on Purchases of Company Securities</B></FONT>. Securities Laws restrict the ability of persons to purchase Company securities while the Company is engaged in a public offering or a buy-back of its securities. Under certain circumstances, the Company will also impose a &quot;blackout&quot; which means that purchases and sales of its securities during this period are prohibited because of the potential for misuse of insider information. (<FONT style='border-bottom:1px solid #000000'>See</FONT>, for example, Section 5.6 of this Statement).&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:72pt;margin-left:6pt'>In addition, in the event that the Company allows participants in individual account plans to hold Company securities in their plan accounts (which is not currently the case), the Securities Laws impose a separate &quot;blackout&quot; on trading by insiders, if a majority of such participants are unable to trade their Company securities so held for a period of more than three consecutive business days. (<FONT style='border-bottom:1px solid #000000'>See</FONT> Section 5.10, below)</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>1.6</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Compliance Committee and Officer</B></FONT>. The Company has established a Compliance Committee and appointed a Compliance Officer to assist you in complying with Securities Laws. All questions relating to your compliance with Securities Laws should be addressed to the Company's Compliance Officer. The Company will be closely monitoring transactions in its securities to attempt to determine if directors, officers and employees are violating Securities Laws. You are strongly encouraged to report any violations of Securities Laws involving the Company's securities of which you become aware. With your cooperation and assistance, compliance with Securities Laws is achievable and will not only avoid harsh penalties but also keep the Company in good standing with the SEC, the Company's shareholders and the public securities markets. If investors perceive that the Company (including its directors, officers and employees) have a disregard for compliance with Securities Laws, the value of the Company and the price per share at which the Company's securities are sold will be diminished.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>2.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>NEED FOR A POLICY</B><B> </B><B>STATEMENT</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The SEC, the U.S. Attorney's Office and private attorneys vigorously pursue violations of Securities Laws. The Securities Laws contain severe penalties for trading violations, and they place the burden on the Company and its &quot;<FONT style='border-bottom:1px solid #000000'><B>controlling persons</B></FONT>&quot; (<FONT style='border-bottom:1px solid #000000'>e.g.</FONT>, officers, directors and certain supervisory personnel) for trading violations by Company employees. The Company has adopted this Statement in order to avoid even the appearance of questionable or improper conduct on the part of anyone employed by or associated in any way with the Company (not only directors and officers).</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin:0;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>3.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>CONSEQUENCES OF FAILURE TO</B><B> </B><B>COMPLY</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The consequences of failure to comply with Securities Laws can be staggering not only for the individual involved but also for the Company and its controlling persons. Harsh civil and criminal penalties as well as criminal jail sentences may be imposed if violations occur.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>Penalties may also be imposed upon the Company (as well as possibly its controlling persons) in the event the Company fails to take adequate steps to prevent violations of Securities Laws.</P>
<P style='font:10pt Times New Roman;margin-top:0.55pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Violation of Securities Laws may also subject the individuals involved to sanctions imposed by the Company including dismissal for cause. If you are a habitual violator, the SEC can remove you from your office at the Company and temporarily or permanently prevent you from serving as an officer or director of any other public company. Violations of Securities Laws will not only tarnish one's reputation but also that of the Company and may cause irreparable damage to a career and the Company's good standing in the securities markets resulting in damage and loss to all shareholders of the Company.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>In view of the extreme consequences imposed not only on you and the Company but potentially its controlling persons and shareholders, the Company intends to actively monitor compliance with Securities Laws by all persons associated with the Company.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>4.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>CONFIDENTIALITY OF INSIDE</B><B> </B><B>INFORMATION</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>4.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Liability for Misuse or Tipping</B></FONT>. Any director, officer or employee who comes into possession of material, non-public information concerning the Company must safeguard the information and not intentionally or inadvertently communicate it to any person (including family members and friends) unless the person has a need to know the information for legitimate, Company-related reasons. A director, officer or employee who improperly uses or reveals material inside information to another person can be held liable under the antifraud provisions of the Securities Laws (primarily Section 10(b) of the Exchange Act and Rule 10b-5) for the trading activities of his or her &quot;tippee&quot; and any other person with whom the tippee shares the information.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>4.2</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Methods of Preserving Confidentiality</B></FONT>. Consistent with the foregoing, directors, officers and employees should divulge such inside information only to persons having a need to know it in order to carry out their job responsibilities. Directors, officers and employees should refrain from discussing such information in public places including, but not limited to, restaurants, rest rooms, lobbies, elevators, airplanes or other public places. To avoid even the appearance of impropriety, directors, officers and employees should refrain from providing advice or making recommendations regarding the purchase or sale of the Company's securities.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>4.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Dissemination of Confidential Information</B></FONT>. Certain specified employees of the Company have been designated as the persons to communicate with analysts, stockholders and the press. The current identity of such employees may be obtained from the Company's Compliance Officer. Should you receive a request from someone for information regarding the Company's financial condition, products, product development, patents or any other information regarding the Company, the person requesting the information should be directed to the person(s) identified by the Company's Compliance Officer.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>5.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>PROHIBITION ON INSIDER</B><B> </B><B>TRADING</B></FONT><B>.</B>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Insider Trading</B></FONT>. The antifraud provisions of the Securities Laws generally prohibit persons who are in possession of material, non-public information from trading in securities on the basis of such information. In addition, the antifraud provisions prohibit fraudulent, manipulative, or deceptive trading practices. Persons who violate these prohibitions are subject to liability for significant civil damages and criminal penalties. Such trading can also subject the Company to penalties and fines.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The SEC has authority to bring a civil action against any controlling person who knows of, or recklessly disregards, a likely insider trading violation by a person under his or her control and who fails to take appropriate steps to prevent the violation from occurring. A successful action by the SEC under this provision can result in significant civil penalties.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The Company (as well as its directors and officers, and supervisory personnel) could be deemed &quot;controlling persons&quot; subject to potential liability under these Securities Laws.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>Accordingly, it is incumbent upon those persons to maintain an awareness of possible insider trading violations by persons under their control and to take measures where appropriate to prevent such violations. In the event a director, officer or supervisory person becomes aware of the possibility of such a violation, he or she should contact our Compliance Officer (or, in his or her absence, the President of the Company) immediately.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>If an officer, director, or employee has material, non-public information relating to the Company or any subsidiary or affiliate, it is the Company's policy that neither that person nor any related person may buy or sell securities of the Company or engage in any other action to take advantage of, or pass along to another, that information. In addition, this policy applies to information relating to any other company obtained in the course of employment with the Company.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Transactions that may be necessary or justifiable for independent reasons (such as the need to raise money for an emergency) are no exception. Even the appearance of an improper securities transaction must be avoided. You are strongly encouraged to contact the Compliance Officer as soon as possible in the event an emergency arises and you have a need to sell the Company's securities during any period in which you may have access to inside information.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.2</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Definition of Material and Non-Public Information</B></FONT>. <B>&quot;</B><FONT style='border-bottom:1px solid #000000'><B>Material information</B></FONT><B>&quot; </B>is any information that a reasonable investor would consider important in deciding whether to buy, sell or hold a security. In short, any information that could reasonably affect the price of a security is material information.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Examples of information that frequently is regarded as material include: (i) projections of future earnings or losses, (ii) news of a pending or proposed merger, acquisition, consolidation or tender offer, (iii) news of a significant sale of assets, (iv) changes in a dividend policy, the declaration of a stock split or the offering of additional securities, (v) changes in management,</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>(vi)</KBD><KBD style=margin-left:20.3pt></KBD>significant new products or discoveries, (vii) impending bankruptcy or financial liquidity problems, (viii) issuance of patents or other protections of intellectual property or the instigation of cancellation proceedings regarding the same and (ix) the gain or loss of a substantial customer or supplier.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt'>Both positive and negative information can constitute material information for purposes of the Securities Laws.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Financial information about the Company is particularly sensitive to classification as material information. For example, non-public information concerning the results of the Company's operations even for a portion of a fiscal quarter might be material. Possession of any non-public financial information should always be treated with caution.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Information is &quot;<FONT style='border-bottom:1px solid #000000'><B>non-public information</B></FONT>&quot; until it has been widely disseminated to the public markets and the public has had an opportunity to absorb and evaluate such information.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Retrospective Analysis</B></FONT>. Remember, if your securities transactions become the subject of scrutiny, those transactions will be viewed after the fact and with the benefit of hindsight. As a result, before engaging in any securities transaction, you should carefully consider how regulators, courts and others might view those transactions with the benefit of hindsight.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.4</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Transactions By Family Members</B></FONT>. The same restrictions that apply to Company employees also apply to family members and others living in your household. Employees are responsible for the compliance of their immediate family members and persons in their households.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.5</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Tipping Information To Others</B></FONT>. Whether the information is proprietary information about the Company or information that has a potential impact on the price of the Company's securities, Company employees must <FONT style='border-bottom:1px solid #000000'>not</FONT> pass that information along to other people or discuss it so that others become aware of the information such that they could then trade in the securities of the Company or any other company. <FONT style='border-bottom:1px solid #000000'>The above-listed penalties under the Securities Laws apply whether or not you personally derive any benefit from another's unlawful securities transactions</FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.6</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>When Information Becomes Public</B></FONT>. &nbsp;It is also improper for any officer or director to trade the Company's securities immediately after the Company has publicly announced material information including, but not limited to, earnings figures. <B>Because the Company's shareholders, as well as the investing public, should be afforded enough time to receive the information and evaluate it, you are not allowed to engage in any transactions in the Company's securities commencing 15 days prior to the end of each fiscal quarter and continuing until the third business day after the quarterly information has been publicly released (the &quot;Quarterly Earnings Blackout Period&quot;). &nbsp;</B>Thus, if an announcement is made on a Monday, generally the following Thursday would be the first day on which you should trade.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:6pt;margin-left:6pt'>If an announcement is made on a Friday, as a general rule, the following Wednesday would be the first day on which trades should be consummated.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:108pt;margin-left:6pt'>The transaction prohibitions under the Quarterly Earnings Blackout Period shall not apply (i) to the exercise of options or transactions in the open market by any non-</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;margin-left:6pt'>executive officer or non-officer employee of the Company or (ii) to the exercise of options by any executive officer or outside (non-employee) director of the Company; provided that such executive officer or outside (non-employee) director certifies in writing to the Compliance Officer in advance of any such exercise that he or she will not engage in any open market transactions involving the Company's securities during any such Quarterly Earnings Blackout Period.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.7</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Dissemination of Confidential Information</B></FONT>. Certain employees have been designated as the persons to communicate with analysts, stockholders and the press. The identity of these employees is available from the Company's Compliance Officer. Should you receive a request from someone for information regarding the Company's financial condition, products, product development, patents or any other information regarding the Company, the person requesting the information should be directed to the person(s) identified by the Company's Compliance Officer.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.8</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Additional Prohibited Transactions</B></FONT>. Because the Company believes it is improper and inappropriate for any director, officer or employee to engage in short-term or speculative transactions involving the Company's securities, it is the Company's policy that directors, officers and employees not engage in any of the following activities with respect to the Company's securities: (i) margin purchases, (ii) short sales or (iii) buying or selling puts or calls.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:5.95pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.9</B></KBD><KBD style=margin-left:108pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Pre-Clearance of Securities Trades</B></FONT><B>. </B>To assist in preventing inadvertent violations of law and Company policy, and to avoid even the appearance of impropriety, all directors and officers (and members of their immediate families or personal households) must pre-clear any trades in the Company's securities with the Compliance Officer. Any of these individuals who plan to make a purchase or sale of any Company securities should contact the Compliance Officer or, in his or her absence, any other member of the Company's Compliance Committee, in advance of any such purchase or sale.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:108pt;margin-left:6pt'>In addition, all persons holding options to purchase securities of the Company must provide the Compliance Officer with twenty-four hour prior notice of each intended option exercise. In this connection, if the Company, in its sole judgment, determines that material adverse information about the Company is about to be publicly released by the Company, the Company reserves the right to request prior to the expiration of such twenty-four hour notice period that such optionee postpone any such option exercise until the public dissemination of such information.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>5.10</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Trading &quot;Blackouts&quot; During Suspension of Trading of Company Securities Held in Individual Account Plans</B></FONT>. The Securities Laws prohibit directors and executive officers of the Company, during a &quot;pension fund blackout period&quot;, from purchasing, selling or otherwise transferring Company securities that they acquired in connection with their Company service. Conceptually, the prohibition described in this Section 5.10 is similar to that contained in, and the enforcement mechanism is the same as that for, the Section 16(b) prohibition described in Section 6 below. A &quot;pension fund blackout period&quot; means any period of&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;margin-left:6pt'>more than three consecutive business days during which the ability to purchase, sell or otherwise acquire or transfer an interest in any Company security held in an individual account plan is temporarily suspended by the Company (or by a plan fiduciary) with respect to not fewer than 50% of the participants in that plan. An &quot;individual account plan&quot; in general means a pension plan which provides for an individual account for each participant and for benefits based solely upon the amount contributed to the participant's account, and any income, expenses, gains and losses, and any forfeitures of accounts of other participants which may be allocated to such participant's account. The foregoing blackout on insider trading does not apply if the trading suspension results from a regularly scheduled suspension provided for in the plan and disclosed to plan participants, or to suspensions as a result of a merger or similar material corporate event involving the plan or plan sponsor.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The Company does not currently offer any individual account plans in which Company securities are held.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36.05pt'><B>6.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>SECTION 16 OF THE EXCHANGE</B><B> </B><B>ACT</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Section 16 Generally</B></FONT><B>. &nbsp;</B>Section 16 of the Exchange Act applies to directors and officers of the Company and to any person owning more than ten percent of any registered class of the Company's equity securities (each an &quot;<FONT style='border-bottom:1px solid #000000'><B>insider</B></FONT>&quot;). Section 16 is intended to deter such insiders from misusing confidential information about the Company for personal trading gain, although the actual misuse of inside information is not necessary for Section 16 liability. The general effect of Section 16 is to restrict the trading activities of insiders with respect to the securities of the Company by requiring public disclosure under Section 16(a) of their ownership and trades, permitting the recovery under Section 16(b) of any profits realized by them on certain transactions, and prohibiting them under Section 16(c) from engaging in short sales.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.2</B></KBD><KBD style=margin-left:107.95pt></KBD><B>&quot;</B><FONT style='border-bottom:1px solid #000000'><B>Short-Swing&quot; Liability</B></FONT>. Under Section 16(b), any profit realized by an insider on a &quot;short-swing&quot; transaction (i.e., a purchase and sale, or sale and purchase, of the Company's equity securities within a period of less than six months) must be paid to the Company upon demand by the Company or a stockholder acting on its behalf. By law, the Company cannot waive or release any claim it may have under Section 16(b) or enter into an enforceable agreement to provide indemnification for amounts recovered under this Section.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Liability under Section 16(b) is imposed in a mechanical fashion without regard to whether the insider intended to violate the section. Good faith is <FONT style='border-bottom:1px solid #000000'>not</FONT> a defense. All that is necessary for a successful claim is to show that the insider realized profits on a short-swing transaction. When computing recoverable profits on multiple purchases and sales within a six- month period, the courts maximize the recovery by matching the lowest purchase price with the highest sale price, the next lowest purchase price with the next highest sale price, and so on. The use of this method makes it possible for an insider to sustain a net loss on a series of transactions while having recoverable profits.</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Certain Definitions</B></FONT>. The terms &quot;<FONT style='border-bottom:1px solid #000000'><B>purchase</B></FONT>&quot; and &quot;<FONT style='border-bottom:1px solid #000000'><B>sale</B></FONT>&quot; are construed under Section 16(b) to cover a broad range of transactions, including acquisitions and dispositions of derivative securities, such as options, as well as tender offers and certain corporate reorganizations. Moreover, purchases and sales by an insider may be matched with transactions by any person (such as certain family members) whose securities are deemed to be beneficially owned by the insider.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The terms &quot;<FONT style='border-bottom:1px solid #000000'><B>director</B></FONT>&quot; and &quot;<FONT style='border-bottom:1px solid #000000'><B>officer</B></FONT>&quot; also have a particular meanings under Section 16(b). The SEC Rules generally limit persons deemed to be a &quot;director&quot; to those persons who serve as members of the Company's Board of Directors, except that the determination of whether advisory, emeritus or honorary directors are &quot;directors&quot; will be based on the person's activities rather than title. The SEC Rules generally limit the persons who are deemed to be an &quot;officer&quot; for Section 16 purposes to those persons who are &quot;executive officers&quot; of the Company for</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>Form 10-K reporting purposes and to those persons who perform similar functions although they might not have an executive title, <FONT style='border-bottom:1px solid #000000'>i.e.</FONT>, those persons who have significant policy-making functions for the Company.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Securities &quot;beneficially owned&quot; by a member of the &quot;immediate family&quot; of an officer or director who shares the same household are attributed to the officer or director. The term &quot;<FONT style='border-bottom:1px solid #000000'><B>immediate family</B></FONT>&quot; includes the insider's spouse, children, parents, in-laws, siblings, grandparents, and grandchildren. There are also special attribution rules relating to holdings of securities by partnerships or corporations and by trusts or trustees.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Whether or not securities are &quot;<FONT style='border-bottom:1px solid #000000'><B>beneficially owned</B></FONT>&quot; by an insider or an immediate family member for Section 16 purposes (other than for determining whether a person is a more-than-ten percent shareholder) depends on whether the insider has a &quot;pecuniary interest&quot; in the securities. &quot;<FONT style='border-bottom:1px solid #000000'><B>Pecuniary interest</B></FONT>&quot; means &quot;the opportunity, directly or indirectly, to profit or share in any profit derived from a transaction in the subject securities.&quot; Various attribution rules and safe harbors are provided under the SEC rules.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>&quot;<FONT style='border-bottom:1px solid #000000'><B>Derivative securities</B></FONT>&quot; include options, warrants, convertible securities, stock appreciation rights, and other similar rights or securities.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.4</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Transactions Involving Derivative Securities</B></FONT>. The grant or acquisition of derivative securities is deemed to involve a purchase of the underlying security under Section 16. The <FONT style='border-bottom:1px solid #000000'>exercise</FONT> of the option or conversion (unless the option is &quot;out-of-the-money&quot;), however, is treated under Rule 16b-6 as a change in the form of ownership of the underlying security and is <FONT style='border-bottom:1px solid #000000'>not</FONT> subject to Section 16(b) short-swing liability. Thus, the acquisition of an option is treated for purposes of Section 16 as the acquisition of the underlying shares covered by the option unless the option has been granted in accordance with one or more of the exemptions provided in Rule 16b-3. (You should keep in mind that, regardless of whether they are exempt from short swing liability under Section 16(b), most derivative security transactions must still be reported under Form 4, described below.)&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:5.95pt'>If an option qualifies for Rule 16b-3 treatment, the grant or issuance of the option will not constitute a purchase for purposes of Section 16(b). Furthermore, purchases and sales of securities that are exempt under Rule 16b-3 will not be matched with other trading activities for purposes of Section 16(b), although reporting of such transactions is generally still required.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:5.95pt'>The options granted under the Company's Stock Option Plans are intended to qualify for one or more of the exemptions under Rule 16b-3.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.5</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Six-Month Lookback</B></FONT>. Section 16(b) does not apply to purchases and sales where <FONT style='border-bottom:1px solid #000000'>both</FONT> occur after a director or officer has resigned. However, there is a six-month &quot;lookback&quot; that can give rise to unexpected liability. That is, a purchase or sale after resignation will be matched with a sale or purchase that occurred within the preceding six months.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.6</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Appointment and Duties of Compliance Officer</B></FONT>. The Company's Board of Directors has established a Compliance Committee to conduct investigations and establish procedures in an effort to comply with SEC regulations. The Board, in addition, has appointed a Compliance Officer to work with the Compliance Committee and the Company's insiders and perform the following duties which are related to the Company's meeting its obligations under Section 16 of the Exchange Act:&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.1</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Record keeping</B></FONT>. The Compliance Officer will keep the Company's records of insiders' transactions. Section 16(a) requires copies of Forms 3, 4 and 5 to be sent to the Company, as well as the SEC. (As described below, as of July 2003, the Forms will have to be filed electronically.)&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.2</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Annual Reports</B></FONT>. The Compliance Officer will send an annual letter to insiders required to file Forms 3, 4 and 5 requesting a list of their transactions in the Company's securities. The letter will include a reporting form that is to be returned to the Compliance Officer and retained in his or her records. The form will specify that all transactions defined by Section 16(a) as reportable be listed and that the insiders confirm the accuracy and completeness of reported transactions.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.3</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Copies of Statement</B></FONT>. The Compliance Officer will initially send copies of this Statement to each insider. This Statement will, in addition, be sent annually to each insider. The Compliance Officer is to acknowledge that insiders have received all correspondence related to compliance.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.55pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.4</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Informal Advice</B></FONT>. The Compliance Officer will address questions and problems regarding Section 16 filings from Company insiders. Compliance with, and confirmation of the accuracy of, advice given by the Compliance Officer, the Compliance Committee or the Company is, however, the responsibility of each individual insider. The Company and the Compliance Officer assume no responsibility for the advice. In the event of any question or uncertainty, each insider is <FONT style='border-bottom:1px solid #000000'>strongly</FONT> encouraged and directed to seek the advice of his or her own independent legal counsel.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.5</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Information</B></FONT>. The Compliance Officer will send Company memos and notices related to Section 16 to insiders from time to time.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.6</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Forms Comparison</B></FONT>. The Forms 3, 4 and 5 received from insiders will be compared with their transaction record annually by the Compliance Officer. The results of his or her review will be made available to the Compliance Committee.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.7</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Report of Delinquencies</B></FONT>. The Compliance Officer in accordance with Section 16 is required to identify by name insiders who reported transactions late or failed to file required reports. The Compliance Officer will use copies of Forms 3, 4 and 5 received from insiders and the insiders' annual transaction reports to identify these insiders. The Company is also required to disclose its knowledge of the number of delinquent filings of each insider. The information regarding delinquent filings and known violations will be reported in the Company's proxy information statements, 10-K reports and a Form N-SAR report to the SEC that addresses delinquent Section 16 filings by insiders.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.6.8</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Policy Enforcement</B></FONT>. The Compliance Officer will be responsible for carrying out the Company's policy regarding compliance with Section 16 of the Exchange Act. Any difficulties with carrying out these duties are to be reported to the Compliance Committee. The Compliance Officer may appoint other Company employees to support him or her in performing his or her duties, as well as request assistance from the Compliance Committee when and as needed.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.7</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Filing Requirements</B></FONT>. Under Section 16 and the rules adopted thereunder, insiders of the Company are required to file the forms described below describing their acquisitions and dispositions of the Company's securities:&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.7.1</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Form 3</B></FONT>. Form 3 is the form initially filed to show the insider's holdings of equity securities of the Company as of the date of becoming an insider. Form 3 must be filed within ten days after becoming a director, officer or more-than-ten percent shareholder.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.7.2</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Form 4</B></FONT>. As a general rule, if there is any change in an insider's beneficial ownership of Company stock, he or she is required to file a Form 4. An insider must report transactions involving Company stock listed in his or her own name, or listed in the name of his or her spouse, children and relatives sharing his or her household, as well as other entities such as trusts, corporations and partnerships in which he or she has an interest. In addition to purchases and sales, transfers to trusts and other changes in the nature of his or her ownership (<FONT style='border-bottom:1px solid #000000'>e.g.</FONT>, from direct to indirect) must be reported, even if there is no net change. Most derivative securities transactions, including issuances, exercises, cancellations and regrants of stock options, are reportable immediately on a Form 4. Other than as set forth in the immediately following paragraph, the Form 4 must be filed before the end of the second business day following the day on which the subject transaction has been executed.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>For two limited categories of transaction only, the effective reporting period on Form 4 is a maximum of five (5) days after the actual trade, provided in both cases that the insider does NOT select the date on which the trade is executed. The first exception applies to contracts, instructions or written plans for the disposition of securities between the insider and a broker, dealer or plan administrator, that satisfy the affirmative defense to insider trading allegations set forth in SEC Rule 10b5-1(c). Stated generally, a plan qualifies for the affirmative defense if it</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>(1) was in place before the insider was aware of the material non-public information, and (2) gives the insider virtually no control over the timing or amount of the trades (e.g. plans that provide for the disposition of shares based on algorithms tied to market performance). Again, if the insider controls the trading date, the expanded reporting period may not be used. For example, if the insider had specified in the plan that trades are to occur on the first day of each month, the exemption would not apply and the Form 4 would be due within two, not five, days after the trade.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The second exception applies to &quot;discretionary transactions&quot; as defined in SEC Rule 16b- 3(b)(1). Stated generally, a &quot;discretionary transaction&quot; is a voluntary transaction under an employee benefit plan that results in either an intra-plan transfer involving an issuer equity securities fund, or a cash distribution to the insider following the disposition of the issuer's equity securities. The timing of these trades may depend on the administration of the employee benefit plan, and as a result, the insider may not have actual knowledge of the trade date.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>With respect to both of the foregoing exceptions, the trade date is deemed to be the date on which the broker, dealer or plan administrator (as the case may be) provides notice that the trade has occurred. &nbsp;Any type of notice, oral or written, triggers the two day period in which Form 4 must be filed. Whether or not notice is ever actually given, however, the deemed date may not be extended more than three days after the actual trade. Thus, the maximum time period in which the Form 4 may be filed is five (5) days after the trade occurs. Implicit in the 5-day limitation is the fact that the insider is responsible for creating and maintaining lines of communication between the insider and the broker, dealer or plan administrator with respect to information regarding trade execution dates.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Insiders should note that, as a result of SEC Release No. 34-46421 on August 29, 2002, the transactions described in SEC Rules 16b-3(d), (e) and (f) are subject to reporting within two days under Form 4 and not, as had been the case prior to that Release, under Form 5 described below. Those Rules pertain to grants, awards and other acquisitions from the issuer not specifically exempted in other Rules promulgated under Section 16 (16b-3(d)); dispositions of securities to the issuer (16b-3(e)); and the discretionary transactions described above (16b-3(f)).</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>In summary, an insider is obligated to report on Form 4 the vast majority of transactions directly or indirectly affecting Company stock ownership by the insider, his or her immediate family or other entitles in which he or she has an interest. Some transactions by insiders may be reported on year-end Form 5 described in Section 6.7.3 below, but SEC Release No. 34-46421 greatly curtailed the categories of transactions for which insiders may use Form 5.</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>6.7.3</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Form 5</B></FONT>. Form 5 is required to be filed within 45 days of the end of the Company's fiscal year by each person who was an insider for any part of that year with respect to the following transactions: (i) transactions exempt from the Form 4 filing requirements (e.g., gifts and inheritances of Company stock); and (ii) transactions for which a required Form 3 or Form 4 was not filed by the insider for the fiscal year just completed.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>A Form 5 is not required to be filed by an insider who does not have either (i) exempt transactions to report or (ii) transactions for which a required Form 3 or Form 4 was not filed.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Information on certain exempt transactions in thrift plans such as Qualified Plans and Stock Purchase Plans (i.e. employee benefit plans meeting the coverage and participation requirements set forth in Internal Revenue Code Secs. 401(a)(26) and 410, and 423(b)(3) and (5), respectively) may not be available from the plan administrators to permit timely reporting for the prior fiscal year on a Form 5. Insiders should report such plan transactions on Form 5 as of the most recent date for which such data is reasonably available to an insider. Plan information for the fiscal year not reported on the insider's Form 5 filed for that year may be reported on Form 5 filed for the next fiscal year (or may be filed on Form 4 or an amended Form 5 promptly after becoming available). In addition, insiders are permitted to report exempt acquisitions in such plans on an aggregate basis rather than transaction by transaction, although reportable dispositions with respect to such plans may not be aggregated.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>Forms 3, 4 and 5 must be filed not only with the SEC (and any national securities exchange in which any of the Company's equity securities are registered), but also with the Compliance Officer. As of July 30, 2003, all insiders will have to file their required Forms electronically via the SEC's EDGAR system, and both the SEC and the Company will post the completed Forms on their respective web sites.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The SEC rules provide that the Forms 3, 4 and 5 must be <FONT style='border-bottom:1px solid #000000'>received</FONT> by the SEC and the Company by the applicable due date. Until implementation of the electronic filing requirement described in the preceding paragraph, however, the forms will be deemed timely filed if the insider delivers the form to a delivery service which guarantees delivery to the SEC no later than the applicable due date. For the insider to take advantage of this benefit, the insider must retain a receipt or other writing from the delivery service evidencing the insider's timely delivery of the form to that third party.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>6.8</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Annual Transactions Reporting</B></FONT>. The Company will circulate to each insider a request for an annual transactions statement of traded Company securities for the year. This statement must be returned to the Compliance Officer by the end of January. In addition, each officer and director of the Company will be required to certify that the information contained in each annual transactions statement is true and correct in all material respects and does not omit any transactions which are required to be reported pursuant to Section 16.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>7.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>RESTRICTIONS ON RESALES OF THE COMPANY'S</B><B> </B><B>SECURITIES</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>7.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Public Sales</B></FONT>. The Securities Act of 1933 (&quot;<FONT style='border-bottom:1px solid #000000'><B>Securities Act</B></FONT>&quot;) requires every person who offers or sells securities to register such securities with the SEC unless an exemption from registration is available. This does not mean that securities need to be registered only prior to their initial sale by the issuer. In fact, securities must be registered <FONT style='border-bottom:1px solid #000000'>every time</FONT> they are sold, unless an exemption is available. In most cases, an individual selling securities for his or her account need not register the securities prior to sale, because there is a specific exemption covering that situation. However, that exemption is not available to &quot;affiliates&quot; of the issuing company. Rule 144 provides a &quot;safe harbor&quot; for the resale of securities held by affiliates.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>Failure to comply with Rule 144 may result in the sale of an unregistered security in violation of the Securities Act, potentially giving rise to criminal as well as civil penalties.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>An &quot;<FONT style='border-bottom:1px solid #000000'><B>affiliate</B></FONT>&quot; of a corporation is someone who is in a position to control that corporation by virtue of having the power to direct or cause the direction of its management and policies.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>Determination of whether a control relationship exists and, therefore, whether a person is an affiliate, is a question of fact. However, it is generally recognized that executive officers, directors and persons owning ten percent or more of the outstanding stock of a corporation will be deemed to be affiliates for purposes of Rule 144.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>7.2</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Requirements of Rule 144</B></FONT>. Rule 144 contains five conditions, although the applicability of some of these conditions will depend on the circumstances of the sale:&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>7.2.1</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Current Public Information</B></FONT>. Current information about the Company must be publicly available at the time of sale. The Company's periodic reports filed with the SEC ordinarily satisfy this requirement.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>7.2.2</B></KBD><KBD style=margin-left:144pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Holding Period</B></FONT>. Restricted securities must be held and fully paid for by the seller for a period of one year prior to sale. The holding period requirement, however, does not apply to securities held by affiliates that were acquired either in the open market or in a public offering of securities registered under the Securities Act.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>7.2.3</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Volume Limitations</B></FONT>. The amount of securities which are sold during any three-month period cannot exceed the greater of (i) one percent of the outstanding shares of the class, or (ii) the average weekly reported trading volume for shares of the class during the four calendar weeks preceding the filing of the notice of sale referred to below.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.55pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>7.2.4</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Manner of Sale</B></FONT>. The securities must be sold in unsolicited brokers' transactions or directly to a market-maker.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:108pt'><B>7.2.5</B></KBD><KBD style=margin-left:143.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Notice of Sale</B></FONT>. The seller must file a notice on Form 144 of the proposed sale with the SEC at the time the order to sell is placed with the broker, unless, during any three month period, the amount to be sold neither exceeds 500 shares nor involves sale proceeds greater than $10,000.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
</DIV>
<DIV style=margin-left:66.25pt;width:479.5pt><HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>The foregoing conditions do not have to be complied with by holders of restricted securities who have held (and fully paid for) their restricted shares for at least two years and who were not affiliates during the three months preceding the sale.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'><FONT style='border-bottom:1px solid #000000'>Bona</FONT> <FONT style='border-bottom:1px solid #000000'>fide</FONT> gifts are not deemed to involve sales of stock, so they can be made at any time without limitation on the amount of the gift. Recipients of restricted securities from an affiliate generally will be subject to the same restrictions under Rule 144 that would have applied to the donor for a period of up to one year following the gift, depending on the circumstances.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>7.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Private Sales</B></FONT>. Directors, officers and employees also may sell securities in a private transaction without registration. Although there is no SEC Rule expressly dealing with private sales, the general view is that such sales can be made if the party acquiring the securities understands he or she is acquiring restricted securities that must be held for at least one year before the securities will be eligible for resale to the public under Rule 144. It is recommended that you consult with counsel prior to engaging in any private sale of the Company's securities.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>8.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>RESTRICTIONS ON PURCHASES OF THE COMPANY'S</B><B> </B><B>SECURITIES</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;text-indent:36pt;margin-left:6pt'>In order to prevent market manipulation, the SEC has adopted certain rules that generally prohibit the Company or any of its affiliates from buying Company securities in the open market during certain periods while a public offering is taking place and that set forth guidelines for purchases of Company stock by the Company or its affiliates while a stock buy-back program is occurring. While the guidelines are optional, compliance with them provides immunity from a stock manipulation charge. You should consult with the Company's Compliance Officer if you desire to make purchases of Company securities during any period that the Company is making a public offering or buying stock from the public. Under certain circumstances, the Company will also impose &quot;blackouts&quot; which means that purchases and sales of its securities during this period are prohibited because of the potential for misuse of insider information. (As noted in Section</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:6pt'>5.10 above, the Securities Laws impose an additional &quot;blackout&quot; rule with respect to insider trades during a suspension in trading of the majority of the Company's pension plans.)</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.05pt;margin-bottom:0pt;margin-left:78pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-36pt'><B>9.</B></KBD><KBD style=margin-left:-0.05pt></KBD><FONT style='border-bottom:1px solid #000000'><B>COMPLIANCE</B></FONT>.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>9.1</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Company Assistance</B></FONT>. Any Company director, officer or employee who has any questions about specific securities transactions or this Statement may obtain additional guidance from the Company's Compliance Officer. <B>REMEMBER, HOWEVER, THAT THE ULTIMATE RESPONSIBILITY FOR ADHERING TO THIS STATEMENT AND AVOIDING QUESTIONABLE OR IMPROPER SECURITIES TRANSACTIONS RESTS WITH YOU. IN THIS REGARD, IT IS IMPERATIVE THAT YOU ALWAYS USE YOUR BEST JUDGMENT.</B>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:4pt;text-indent:36pt;margin-left:6pt;color:#0F4761'><FONT style=color:#000000>THE COMPANY WILL NOT HAVE RESPONSIBILITY OR LIABILITY TO ANY INDIVIDUAL FOR ADVICE OR INFORMATION GIVEN BY THE COMPANY TO SUCH INDIVIDUAL UNDER THIS STATEMENT. IN THE EVENT OF ANY QUESTION OR UNCERTAINTY, YOU ARE STRONGLY ADVISED TO SEEK THE ADVICE OF YOUR OWN INDEPENDENT LEGAL COUNSEL.</FONT></P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>9.2</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Certifications</B></FONT>. All Company employees designated as being in positions where they may obtain sensitive information will be required to certify in writing their understanding of and agreement to comply with this Statement. In addition, Company directors, officers and other key personnel may be required to certify their compliance with this Statement on an annual basis.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;text-indent:36pt;margin-left:5.95pt'>A list of these individuals will be prepared by the Company's Compliance Officer and approved by the President. The Company will post the regulations on Company bulletin boards. Employees designated as having access to confidential information will receive a copy of this Statement annually and acknowledgement of receipt will be required. All new employees with potential access to confidential information will when hired also receive a copy of this statement and acknowledge its receipt.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>9.3</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Reporting Violations</B></FONT>. All violations or potential violations by you or others of Securities Laws or this Statement should be reported <FONT style='border-bottom:1px solid #000000'>immediately</FONT> to the Company's Compliance Officer (or, in his or her absence, the Company's President) so that remedial action can be taken as soon as possible.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:6pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:72pt'><B>9.4</B></KBD><KBD style=margin-left:107.95pt></KBD><FONT style='border-bottom:1px solid #000000'><B>Compliance with Statement</B></FONT>. <B>Any director, officer or employee who violates the Company's insider trading policy as evidenced by this Statement shall be subject to sanctions imposed by the Company, which may include dismissal for cause and disqualification from participation in any Company bonus plans, stock option plans, stock purchase plans, management bonus plans and other perquisites of employment made available by the Company to its directors, officers or employees. </B>A violation of the Company's policy is not necessarily the same as a violation of law. In fact, for the reasons stated in this Statement, the Company's policy is intended to be broader than the law. The Company reserves the right to determine in its own discretion and on the basis of the information available to it, whether this Statement and the Company's policy embodying this Statement has been violated. The Company may determine that specific conduct violates its policy whether or not the conduct also violates law. It is not necessary for the Company to await the filing or conclusion of a civil or criminal action against the alleged violator before taking disciplinary action. &nbsp;The Company's policy is to avoid even the appearance of improper conduct on the part of any one employed by or associated with the Company, whether or not the conduct is literally in violation of the law.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:0pt'><FONT style='border-bottom:1px solid #000000'><B>CERTIFICATION BY OFFICER or DIRECTOR</B></FONT></P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:4.5pt;margin-bottom:6pt;margin-left:5.95pt'>The undersigned officer or director of Utah Medical Products, Inc. (the &#8220;Company&#8221;), (i) has received a copy of the Company's Statement of Policy Regarding Compliance With Federal Securities Laws, (ii) has read the Statement and fully understands its terms, (iii) agrees to be bound by and to comply with the Statement and (iv) acknowledges and agrees that, notwithstanding any other Company policy, failure to comply with the terms of this policy may result in a request by the Company for his or her immediate resignation as an officer or director, or referral to the Securities and Exchange Commission. The undersigned agrees that the undersigned will be subject to sanctions imposed by the Company, in its discretion, for violation of this Statement and that the Company may give stop-transfer and other instructions to the Company's transfer agent against the transfer of the Company's securities by the undersigned in a transaction which the Company considers to be in contravention of this Statement.</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-left:5.95pt'>Dated: <FONT style='border-bottom:1px solid #000000'> </FONT><KBD style='display:inline-block;width:76.35pt;border-bottom:1px solid #000000'>&nbsp;</KBD>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.1pt;margin-bottom:6pt'>&nbsp;</P>
<TABLE style=border-collapse:collapse;width:100%><TR><TD valign=top style=width:53.24%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:46.76%><P style='font:10pt Times New Roman;margin:0'>[OFFICER/DIRECTOR SIGNATURE]</P>
</TD></TR>
<TR><TD valign=top style=width:53.24%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:46.76%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD></TR>
<TR><TD valign=top style=width:53.24%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style=width:46.76%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD></TR>
<TR><TD valign=top style=width:53.24%><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD><TD valign=top style='width:46.76%;border-bottom:0.5pt solid #000000'><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</TD></TR>
</TABLE>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-21.1
<SEQUENCE>4
<FILENAME>utmd_ex21z1.htm
<DESCRIPTION>SUBSIDIARIES OF UTAH MEDICAL PRODUCTS, INC.
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=right style='font:10pt Times New Roman;margin:0'>&nbsp;<B>Exhibit 21.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SUBSIDIARIES of UTAH MEDICAL PRODUCTS, INC.</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><FONT style='border-bottom:1px solid #000000'>Subsidiary Name</FONT><KBD style='display:inline-block;width:97.35pt;border-bottom:1px solid #000000'>&nbsp;</KBD><FONT style='border-bottom:1px solid #000000'>Jurisdiction of Organization</FONT><KBD style='display:inline-block;width:40.8pt;border-bottom:1px solid #000000'>&nbsp;</KBD><FONT style='border-bottom:1px solid #000000'>Business Name</FONT>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Utah Medical Products Ltd.</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>Bermuda</KBD><KBD style=margin-left:288pt></KBD>Utah Medical Products Ireland&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Columbia Medical &amp; Surgical, Inc.</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>Oregon</KBD><KBD style=margin-left:288pt></KBD>Utah Medical Products&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Abcorp Medical</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>Florida</KBD><KBD style=margin-left:288pt></KBD>Utah Medical Products&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Femcare Group Limited</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>United Kingdom</KBD><KBD style=margin-left:288pt></KBD>Femcare Group&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Femcare Limited</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>United Kingdom</KBD><KBD style=margin-left:288pt></KBD>Femcare Limited&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Femcare Australia Pty Ltd</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>Australia</KBD><KBD style=margin-left:288pt></KBD>Femcare Australia&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Femcare N.Z. Ltd</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>New Zealand</KBD><KBD style=margin-left:288pt></KBD>Femcare Australia&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>Utah Medical Products Canada Inc.</KBD><KBD style='position:absolute;font:10pt Times New Roman;margin-left:166.5pt'>Canada</KBD><KBD style=margin-left:288pt></KBD>Femcare Canada&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:22.5pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.1
<SEQUENCE>5
<FILENAME>utmd_ex23z1.htm
<DESCRIPTION>CONSENT OF HAYNIE & COMPANY, UTMD'S INDEPENDENT AUDITORS FOR THE YEARS ENDED DECEMBER 31, 2024 AND DECEMBER 31, 2023
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=center style='font:10pt Times New Roman;margin:0'><B>Exhibit 23.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0;color:#000000'>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</P>
<P align=center style='font:10pt Times New Roman;margin:0;color:#000000'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin:0;color:#000000'>We consent to the incorporation by reference in Registration Statement Nos. 333-273261, and 333-199337 (on Form S-8) of Utah Medical Products, Inc. of our audit report dated March 25, 2025, on the consolidated financial statements of Utah Medical Products, Inc., which report appears in this annual report on Form 10-K of Utah Medical Products, Inc. for the year ended December 31, 2024.</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000'><FONT style='border-bottom:1px solid #000000'>/s/ Haynie &amp; Company</FONT></P>
<P style='font:10pt Times New Roman;margin:0;color:#000000'>Haynie &amp; Company</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000'>Salt Lake City, Utah</P>
<P style='font:10pt Times New Roman;margin:0;color:#000000'>March 26, 2025</P>
<P style='font:10pt Times New Roman;margin:0;margin-right:-1pt'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-23.2
<SEQUENCE>6
<FILENAME>utmd_ex23z2.htm
<DESCRIPTION>CONSENT OF NORTONS ASSURANCE LIMITED, FEMCARE GROUP LIMITED'S INDEPENDENT AUDITORS FOR THE YEARS ENDED DECEMBER 31, 2024 AND DECEMBER 31, 2023
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=center style='font:10pt Times New Roman;margin:0'><B>EXHIBIT 23.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Utah Medical Products, Inc.</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:5pt;margin-bottom:5pt'>We consent to the incorporation by reference in Registration Statement Nos. 333-127946, 333-199337 &nbsp;(on Form S-8), and 333-182078 (on Form S-3) of Utah Medical Products, Inc. of our audit reports dated 25 March 2025, on the financial statements of Femcare Group Limited, which reports appear in this annual report on Form 10-K of Utah Medical Products, Inc. for the years ended 31 December 2024 and 2023.</P>
<P style='font:12pt Times New Roman;margin-top:5pt;margin-bottom:5pt'><IMG src=utmdex23z2_1.jpg width=218 height=39 alt='Picture 1' title='Picture 1'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Nortons Assurance Limited</P>
<P style='font:10pt Times New Roman;margin:0'>Chartered Accountants and Statutory Auditor</P>
<P style='font:10pt Times New Roman;margin:0'>Reading</P>
<P style='font:10pt Times New Roman;margin:0'>United Kingdom</P>
<P style='font:10pt Times New Roman;margin:0'>26 March 2025</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>7
<FILENAME>utmd_ex31z1.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 31.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF CEO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a-14(a) AS ADOPTED PURSUANT TO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002 </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>I, Kevin L. Cornwell, certify that:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>1.</KBD><KBD style=margin-left:18pt></KBD>I have reviewed this annual report on Form 10-K of Utah Medical Products, Inc.; &nbsp;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>2.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>4.</KBD><KBD style=margin-left:18pt></KBD>The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(a)</KBD>designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(b)</KBD>designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(c)</KBD>evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and &nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(d)</KBD>disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>5.</KBD><KBD style=margin-left:18pt></KBD>The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(a)</KBD>all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(b)</KBD>any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Date: March 26, 2025</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;/s/ Kevin L. Cornwell &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Kevin L. Cornwell</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Executive Officer</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>8
<FILENAME>utmd_ex31z2.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 31.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>PURSUANT TO RULE 13a-14(a) AS ADOPTED PURSUANT TO </B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002 </B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>I, Brian L. Koopman, certify that:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>1.</KBD><KBD style=margin-left:18pt></KBD>I have reviewed this annual report on Form 10-K of Utah Medical Products, Inc.; &nbsp;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>2.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>3.</KBD><KBD style=margin-left:18pt></KBD>Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>4.</KBD><KBD style=margin-left:18pt></KBD>The registrant's other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(a)</KBD>designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-15.3pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(b)</KBD>designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(c)</KBD>evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and &nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-15.3pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(d)</KBD>disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the registrant&#8217;s fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:18pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0.05pt'>5.</KBD><KBD style=margin-left:18pt></KBD>The registrant&#8217;s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant&#8217;s auditors and the audit committee of registrant&#8217;s board of directors (or persons performing the equivalent functions):&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(a)</KBD>all significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant&#8217;s ability to record, process, summarize and report financial information; and&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-36pt;margin-left:33.3pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:33.3pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-15.3pt'>(b)</KBD>any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant&#8217;s internal control over financial reporting.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>Date: March 26, 2025</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/s/ Brian L. Koopman &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Brian L. Koopman</P>
<P style='font:10pt Times New Roman;margin:0'>Principal Financial Officer</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>9
<FILENAME>utmd_ex32z1.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 32.1</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>18 U.S.C. SECTION 1350,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P align=center style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>In connection with the Annual Report of Utah Medical Products, Inc. (the &#8220;Company&#8221;) on Form 10-K for the period ending December 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Kevin L. Cornwell, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge and belief:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-34.2pt'>(1)</KBD>the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and &nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-34.2pt'>(2)</KBD>the information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;text-indent:-73.8pt;margin-left:73.8pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;&nbsp;/s/ Kevin L. Cornwell &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Kevin L. Cornwell</P>
<P style='font:10pt Times New Roman;margin:0'>Chief Executive Officer</P>
<P style='font:10pt Times New Roman;margin:0'>March 26, 2025</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><I>A signed original of this written statement required by Section 906, or other document authenticating, acknowledging, or otherwise adopting the signature that appears in typed form within the electronic version of this written statement has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request. &nbsp;</I><BR></P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.2
<SEQUENCE>10
<FILENAME>utmd_ex32z2.htm
<DESCRIPTION>CERTIFICATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:72pt;width:468pt><P align=right style='font:10pt Times New Roman;margin:0'><B>Exhibit 32.2</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>CERTIFICATION PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>18 U.S.C. SECTION 1350,</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>AS ADOPTED PURSUANT TO</B></P>
<P align=center style='font:10pt Times New Roman;margin:0'><B>SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</B></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>In connection with the Annual Report of Utah Medical Products, Inc. (the &#8220;Company&#8221;) on Form 10-K for the period ending December 31, 2024, as filed with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), I, Brian L. Koopman, Principal Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to the best of my knowledge and belief:</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-34.2pt'>(1)</KBD>the Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and &nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0;margin-left:36pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:-34.2pt'>(2)</KBD>the information contained in the Report fairly presents, in all material respects, the financial condition and result of operations of the Company.&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><FONT style='border-bottom:1px solid #000000'> &nbsp;&nbsp;&nbsp;&nbsp;/s/ Brian L. Koopman</FONT></P>
<P style='font:10pt Times New Roman;margin:0'>Brian L. Koopman</P>
<P style='font:10pt Times New Roman;margin:0'>Principal Financial Officer</P>
<P style='font:10pt Times New Roman;margin:0'>March 26, 2025</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'><I>A signed original of this written statement required by Section 906, or other document authenticating, acknowledging, or otherwise adopting the signature that appears in typed form within the electronic version of this written statement has been provided to the Company and will be retained by the Company and furnished to the Securities and Exchange Commission or its staff upon request. &nbsp;</I></P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin:0'>&nbsp;</P>
</DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-97.1
<SEQUENCE>11
<FILENAME>utmd_ex97z1.htm
<DESCRIPTION>POLICY RELATING TO RECOVERY OF ERRONEOUSLY AWARDED COMPENSATION
<TEXT>
<HTML>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<DIV style=margin-left:44pt;width:524pt><P align=right style='font:10pt Times New Roman;margin-top:3.95pt;margin-bottom:0pt;margin-left:129.15pt;margin-right:129.1pt'><B>Exhibit 97.1</B></P>
<P align=center style='font:10pt Times New Roman;margin-top:3.95pt;margin-bottom:0pt;margin-left:129.15pt;margin-right:129.1pt'><B>UTMD COMPENSATION CLAWBACK POLICY</B></P>
<P align=center style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-left:129.15pt;margin-right:129pt'>(Adopted November 1, 2024)</P>
<P style='font:10pt Times New Roman;margin-top:0.25pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:5.45pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>1.</KBD><KBD style=margin-left:36pt></KBD><B>Purpose and Scope. </B>Utah Medical Products, Inc. (the &#8220;Company&#8221;) has adopted this compensation clawback policy (the &#8220;Policy&#8221;) to comply with Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act of 2010 (&#8220;Dodd-Frank&#8221;), as codified by Section 10D of the Securities Exchange Act of 1934 (the &#8220;Exchange Act&#8221;), and Listing Rule 5608 of the corporate governance rules of The Nasdaq Stock Market (&#8220;Nasdaq&#8221;), which require the recovery of certain forms of executive compensation in the case of accounting restatements resulting from a material error in an issuer&#8217;s financial statements. This Policy shall be administered by the Board of Directors of the Company (the &#8220;Board&#8221;) or, if so designated by the Board, the Compensation Committee.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.3pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:8.15pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>2.</KBD><KBD style=margin-left:36pt></KBD><B>Effective Date. </B>This Policy shall be effective as of the date it is adopted by the Board and shall apply to Incentive-Based Compensation that is approved, awarded, or granted to Covered Executives on or after October 2, 2023, even if such Incentive-Based Compensation was approved, awarded, or granted to Covered Executives prior to that date.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.3pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:6.75pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>3.</KBD><KBD style=margin-left:36pt></KBD><B>Covered Executives. </B>This Policy applies to all of the Company&#8217;s current and former executive officers, and such other employees who may from time to time be deemed subject to this Policy by the Board (each, a &#8220;Covered Executive&#8221;). For purposes of this Policy, an executive officer means an officer as defined in Rule 10D-1(d) under the Exchange Act.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.25pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:5.45pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>4.</KBD><KBD style=margin-left:36pt></KBD><B>Incentive-Based Compensation. </B>For purposes of this Policy, the term &#8220;Incentive-Based Compensation&#8221; means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a financial reporting measure. &#8220;Financial reporting measures&#8221; are measures that are determined and presented in accordance with the accounting principles used in preparing the issuer's financial statements, and any measures that are derived wholly or in part from such measures, including stock price and total shareholder return. For the avoidance of doubt, Incentive-Based Compensation does not include annual salary, compensation awarded based on completion of a specified period of service, or compensation awarded based on subjective standards, strategic measures, or operational measures.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.3pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:5.85pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>5.</KBD><KBD style=margin-left:36pt></KBD><B>Recovery; Accounting Restatement. </B>In the event the Company is required to prepare an accounting restatement of its financial statements due to material noncompliance with any financial reporting requirement under the federal securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period (a &#8220;Restatement&#8221;), the Company shall, as promptly as it reasonably can, recover any Incentive-Based Compensation received by a Covered Executive during the three completed fiscal years immediately preceding the date on which the Company is required to prepare such Restatement (the &#8220;Restatement Date&#8221;), so long as the Incentive-Based Compensation received by such Covered Executive is in excess of what would have been awarded or vested after giving effect to the Restatement. The Restatement Date shall be the earlier of (i) the date the Company&#8216;s board of directors, a board committee, or officer(s) are authorized to take such action if board action is not required, concludes, or reasonably should have concluded, that the issuer is required to prepare an accounting restatement due to the material noncompliance of the issuer with any financial reporting requirement under the securities laws as described in Rule 10D-1(b)(1) under the Exchange Act or (ii) the date a court, regulator, or other legally authorized body directs the issuer&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'><P style='font:10pt Times New Roman;margin-top:0.5pt;margin-bottom:0pt;margin-left:3pt'>1</P>
<HR style='page-break-after:always;border:0;height:3pt;background-color:#909090;margin:8pt 0'><P style=line-height:0;margin:0></P>
</DIV>
<DIV style=margin-left:72pt;width:482.4pt><P style='font:10pt Times New Roman;margin-top:3.95pt;margin-bottom:6pt;margin-right:5.45pt'>to prepare an accounting restatement. The amount to be recovered will be the excess of the Incentive- Based Compensation paid to the Covered Executive based on the erroneous data in the original financial statements over the Incentive-Based Compensation that would have been paid to the Covered Executive had it been based on the restated results, without respect to any taxes paid.</P>
<P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:7.85pt'>Subsequent changes in a Covered Executive&#8217;s employment status, including retirement or termination of employment, do not affect the Company&#8217;s rights to recover Incentive-Based Compensation pursuant to this Policy. For purposes of this Policy, Incentive-Based Compensation shall be deemed to have been received during the fiscal period in which the financial reporting measure specified in the award is attained, even if such Incentive-Based Compensation is paid or granted after the end of such fiscal period.</P>
<P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:24.5pt'>No recovery shall be required in the case of a Board determination that the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered.</P>
<P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:7.2pt'>Such determination shall be made after a reasonable and documented attempt to recover the Incentive- Based Compensation, which documentation shall be provided to Nasdaq.</P>
<P style='font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt;margin-right:5.45pt'>The Board shall determine, in its sole discretion, the method of recovering any Incentive-Based Compensation pursuant to this Policy.</P>
<P style='font:10pt Times New Roman;margin-top:0.3pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:21.1pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>6.</KBD><KBD style=margin-left:36pt></KBD><B>No Indemnification. </B>The Company shall not indemnify any current or former Covered Executive against the loss of erroneously awarded compensation, and shall not pay, or reimburse any Covered Executives for premiums, for any insurance policy to fund such executive&#8217;s potential recovery obligations.&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.25pt;margin-bottom:6pt'>&nbsp;</P>
<P align=justify style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:34.95pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>7.</KBD><KBD style=margin-left:36pt></KBD><B>Notice. </B>Before the Board determines to seek recovery pursuant to this Policy, it shall provide the Covered Executive with written notice and the opportunity to be heard at a meeting of the Board (either in person or via telephone).&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0.3pt;margin-bottom:6pt'>&nbsp;</P>
<P style='font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt;margin-right:6.35pt'><KBD style='position:absolute;font:10pt Times New Roman;margin-left:0pt'>8.</KBD><KBD style=margin-left:36pt></KBD><B>Amendment and Interpretation. </B>The Board may amend this Policy from time to time in its discretion, and shall amend this Policy as it deems necessary to reflect the regulations adopted by the SEC and to comply with any rules or standards adopted by a national securities exchange on which the Company&#8217;s securities are then listed. It is intended that this Policy be interpreted in a manner that is consistent with the requirements of Section 10D of the Exchange Act and any applicable rules or standards adopted by the SEC and any national securities exchange on which the Company&#8217;s securities are then listed.&nbsp;</P>
<HR style='border:0;height:0;width:0;margin:14pt 0 0 0'></DIV>
</BODY>
</HTML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>12
<FILENAME>utmd-20241231_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.utahmed.com/20241231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_InventoryNet' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AssetsCurrent' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_Goodwill' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Assets' xlink:to='us-gaap_IntangibleAssetsNetExcludingGoodwill' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations' xlink:label='us-gaap_LongTermDebtAndCapitalLeaseObligations'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_LongTermDebtAndCapitalLeaseObligations' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent' xlink:label='us-gaap_OtherLiabilitiesNoncurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_OtherLiabilitiesNoncurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_Liabilities' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_Liabilities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies' xlink:label='us-gaap_CommitmentsAndContingencies'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_CommitmentsAndContingencies' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='us-gaap_StockholdersEquity' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_CommonStockValue' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_StockholdersEquity' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_GrossProfit' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GrossProfit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='us-gaap_GeneralAndAdministrativeExpense' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ProfitLoss' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ProfitLoss' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ComprehensiveIncomeNetOfTax' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_ComprehensiveIncomeNetOfTax' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_Depreciation' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ProvisionForDoubtfulAccounts' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_ShareBasedCompensation' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' use='optional' order='8.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='9.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInOtherReceivables' use='optional' order='10.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='11.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' use='optional' order='12.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='13.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='us-gaap_IncreaseDecreaseInAccruedLiabilities' use='optional' order='14.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsForRepurchaseOfCommonStock' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='us-gaap_PaymentsOfDividends' use='optional' order='3.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='us-gaap_AccountsReceivableGrossCurrent' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedInterestAndOther' xlink:label='fil_AccruedInterestAndOther'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='fil_AccruedInterestAndOther' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryFinishedGoodsNetOfReserves' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_InventoryNet' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedPatentsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedNoncompeteAgreementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedTrademarksGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_FiniteLivedCustomerRelationshipsGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_OtherFiniteLivedIntangibleAssetsGross' use='optional' order='5.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='6.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' use='optional' order='7.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedIncomeTaxesPayableReceivable' xlink:label='fil_AccruedIncomeTaxesPayableReceivable'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='fil_AccruedIncomeTaxesPayableReceivable' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_LitigationReserveCurrent' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_Land' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_Land' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='2.0' weight='-1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='1.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='2.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' use='optional' order='3.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' use='optional' order='4.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_CurrentIncomeTaxExpenseBenefit' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='fil_DeferredIncomeTaxExpense' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='2.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' use='optional' order='3.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' use='optional' order='4.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_InterestIncomeSecuritiesTaxExempt' use='optional' order='5.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='fil_AdjustmentToDeferredTaxLiability' use='optional' order='6.0' weight='-1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='7.0' weight='1.0'/>
	</link:calculationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:calculationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0' weight='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:calculationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/summation-item' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' use='optional' order='2.0' weight='1.0'/>
	</link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>13
<FILENAME>utmd-20241231_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.utahmed.com/20241231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain"/>
	<link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_CommonStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_ComprehensiveIncomeMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_EquityComponentDomain' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharesOutstanding' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockOptionPlanExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DividendsCommonStockCash' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='12.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementTradingArrangementsByIndividual"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8Options"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14Leases"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformation"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote18RecentAccountingPronouncements"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote19SubsequentEvents"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_BuildingAndBuildingImprovementsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='us-gaap_EquipmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='fil_DistributionRightsAcquisitionDomain' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetUsefulLife' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='9.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_AllCountriesDomain' xlink:label='country_AllCountriesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='country_AllCountriesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_USAndCanadaMember' xlink:label='fil_USAndCanadaMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_USAndCanadaMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_EnglandAndAustraliaMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IE' xlink:label='country_IE'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='country_IE' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MinimumMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_RangeMember' xlink:to='srt_MaximumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' use='optional' order='10.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range1Member' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range2Member' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range3Member' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range4Member' xlink:label='fil_Range4Member'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_Range4Member' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_WeightedAverageRemainingContractualLifeYears' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' use='optional' order='9.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_GlobalMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_ObstetricsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NeonatalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_BloodPressureMonitoringAndAccessoriesMember' xlink:label='fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_BloodPressureMonitoringAndAccessoriesMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_SegmentGeographicalDomain' xlink:to='fil_OusMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_ObstetricsMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_NeonatalMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_BloodPressureMonitoringAndAccessoriesMember' xlink:label='fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ProductsAndServicesDomain' xlink:to='fil_BloodPressureMonitoringAndAccessoriesMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='fil_DistributionRightsAcquisitionDomain' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' use='optional' order='2.0'/>
	</link:definitionLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"/>
	<link:definitionLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/hypercube-dimension' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-domain' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain_1'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/dimension-default' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain_1' use='optional' order='1.0' xbrldt:contextElement='segment'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_SingleOperatingSegmentMember' xlink:label='fil_SingleOperatingSegmentMember'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='fil_SingleOperatingSegmentMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/all' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StatementTable' order='0.5' xbrldt:closed='true' xbrldt:contextElement='segment' use='optional'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_StandardCostOfSales' xlink:label='fil_StandardCostOfSales'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_StandardCostOfSales' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OtherCostOfSales' xlink:label='fil_OtherCostOfSales'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_OtherCostOfSales' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GrossProfit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GrossProfitMargin' xlink:label='fil_GrossProfitMargin'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_GrossProfitMargin' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_LitigationExpense' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_OtherSellingGeneralAndAdministrativeExpense'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherSellingGeneralAndAdministrativeExpense' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OperatingIncomeMargin' xlink:label='fil_OperatingIncomeMargin'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_OperatingIncomeMargin' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet' xlink:label='us-gaap_OtherOperatingIncomeExpenseNet'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherOperatingIncomeExpenseNet' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:definitionArc xlink:type='arc' xlink:arcrole='http://xbrl.org/int/dim/arcrole/domain-member' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='17.0'/>
	</link:definitionLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>14
<FILENAME>utmd-20241231_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABELS LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.utahmed.com/20241231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" roleURI="http://www.xbrl.org/2009/role/netLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" roleURI="http://www.xbrl.org/2009/role/negatedLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel"/>
	<roleRef xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" roleURI="http://www.xbrl.org/2009/role/negatedNetLabel"/>
	<link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Lessee, Operating Lease, Liability, Undiscounted Excess Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiability' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiability' xlink:to='lab_us-gaap_OperatingLeaseLiability'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractualObligation' xlink:label='us-gaap_ContractualObligation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ContractualObligation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Contractual Obligation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ContractualObligation' xlink:to='lab_us-gaap_ContractualObligation'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_OusMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>OUS</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_OusMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the OUS, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_OusMember' xlink:to='lab_fil_OusMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range4Member' xlink:label='fil_Range4Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range4Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 4</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range4Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 4, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_Range4Member' xlink:to='lab_fil_Range4Member'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:to='lab_us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:to='lab_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_AllCountriesDomain' xlink:label='country_AllCountriesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_country_AllCountriesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>All Countries</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='country_AllCountriesDomain' xlink:to='lab_country_AllCountriesDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:label='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Weighted Average Number of Shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock' xlink:label='us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueRecognitionPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Revenue Recognition</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueRecognitionPolicyTextBlock' xlink:to='lab_us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:label='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 8 - Options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:to='lab_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 6 - Commitments and Contingencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:to='lab_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from issuance of common stock - options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:to='lab_us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfCashFlowsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='lab_us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsCommonStockCash' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock dividends</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DividendsCommonStockCash' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Common stock dividends</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DividendsCommonStockCash' xlink:to='lab_us-gaap_DividendsCommonStockCash'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign currency translation adjustment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Foreign currency translation net of taxes of $0 in all periods</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:to='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RoyaltyIncomeNonoperating' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Royalty income (note 12)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RoyaltyIncomeNonoperating' xlink:to='lab_us-gaap_RoyaltyIncomeNonoperating'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>LIABILITIES AND STOCKHOLDERS&apos; EQUITY</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets - accumulated amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other intangible assets - accumulated amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Other intangible assets (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsGross' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_IcfrAuditorAttestationFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ICFR Auditor Attestation Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_IcfrAuditorAttestationFlag' xlink:to='lab_dei_IcfrAuditorAttestationFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_SecurityExchangeName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Security Exchange Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_SecurityExchangeName' xlink:to='lab_dei_SecurityExchangeName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCentralIndexKey' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Central Index Key</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCentralIndexKey' xlink:to='lab_dei_EntityCentralIndexKey'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_SingleOperatingSegmentMember' xlink:label='fil_SingleOperatingSegmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_SingleOperatingSegmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Single Operating Segment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_SingleOperatingSegmentMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Single Operating Segment, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_SingleOperatingSegmentMember' xlink:to='lab_fil_SingleOperatingSegmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability, Noncurrent</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:to='lab_us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:to='lab_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Finite-Lived Intangible Assets, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:to='lab_us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeMember' xlink:to='lab_srt_RangeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Maturity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:label='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Long-Lived Assets By Geographic Area</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule of Long-Lived Assets By Geographic Area, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:to='lab_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 18 - Recent Accounting Pronouncements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock' xlink:label='us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_QuarterlyFinancialInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 3 - Quarterly Results of Operations (Unaudited)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_QuarterlyFinancialInformationTextBlock' xlink:to='lab_us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid' xlink:label='us-gaap_IncomeTaxesPaid'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxesPaid' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxesPaid' xlink:to='lab_us-gaap_IncomeTaxesPaid'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts receivable</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Accounts receivable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AmortizationOfIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amortization {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AmortizationOfIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Amortization</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AmortizationOfIntangibleAssets' xlink:to='lab_us-gaap_AmortizationOfIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock received and retired upon exercise of stock options, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:to='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Equity Balance, value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:to='lab_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherNonoperatingIncomeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other, net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherNonoperatingIncomeExpense' xlink:to='lab_us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_OtherSellingGeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherSellingGeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Selling, General and Administrative Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherSellingGeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_OtherSellingGeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_StandardCostOfSales' xlink:label='fil_StandardCostOfSales'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_StandardCostOfSales' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Standard cost of sales</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_StandardCostOfSales' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Standard cost of sales, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_StandardCostOfSales' xlink:to='lab_fil_StandardCostOfSales'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInTheUnitedStates' xlink:label='fil_LongLivedAssetsInTheUnitedStates'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in the United States</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in the United States, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInTheUnitedStates' xlink:to='lab_fil_LongLivedAssetsInTheUnitedStates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Unrecognized cost of unvested share-based compensation awards to be recognized over the next twelve months.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EnglandAndAustraliaMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>England and Australia</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EnglandAndAustraliaMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the England and Australia, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EnglandAndAustraliaMember' xlink:to='lab_fil_EnglandAndAustraliaMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_MachineryAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Machinery and Equipment, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_MachineryAndEquipmentGross' xlink:to='lab_us-gaap_MachineryAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee-related Liabilities, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:to='lab_us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Customer Relationships, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:to='lab_us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, Allowance for Credit Loss, Current</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Accounts Receivable, Allowance for Credit Loss, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:to='lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>New Accounting Pronouncements, Policy</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:to='lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:label='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Intangible Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:to='lab_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag' xlink:label='ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_NonRule10b51ArrAdoptedFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-Rule 10b5-1 Arrangement Adopted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_NonRule10b51ArrAdoptedFlag' xlink:to='lab_ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net increase in cash and cash equivalents</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net increase in cash and cash equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherReceivables' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other receivables</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInOtherReceivables' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Other receivables</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInOtherReceivables' xlink:to='lab_us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockMember' xlink:to='lab_us-gaap_CommonStockMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract' xlink:label='us-gaap_OtherIncomeAndExpensesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherIncomeAndExpensesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other income (expense)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherIncomeAndExpensesAbstract' xlink:to='lab_us-gaap_OtherIncomeAndExpensesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingIncomeLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Operating income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingIncomeLoss' xlink:to='lab_us-gaap_OperatingIncomeLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentTransitionReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Transition Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentTransitionReport' xlink:to='lab_dei_DocumentTransitionReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityShellCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Shell Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityShellCompany' xlink:to='lab_dei_EntityShellCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Two</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:label='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:to='lab_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:label='fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease for Automobile Term of Contract</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:to='lab_fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_BloodPressureMonitoringAndAccessoriesMember' xlink:label='fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_BloodPressureMonitoringAndAccessoriesMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Blood Pressure Monitoring and Accessories</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_BloodPressureMonitoringAndAccessoriesMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Blood Pressure Monitoring and Accessories, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_BloodPressureMonitoringAndAccessoriesMember' xlink:to='lab_fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductOrServiceAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductOrServiceAxis' xlink:to='lab_srt_ProductOrServiceAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) from Continuing Operations before Income Taxes, Domestic</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt' xlink:label='us-gaap_LongTermDebt'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LongTermDebt' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Term Debt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LongTermDebt' xlink:to='lab_us-gaap_LongTermDebt'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Assets Acquired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:to='lab_us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquipmentMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquipmentMember' xlink:to='lab_us-gaap_EquipmentMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Inventories</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryPolicyTextBlock' xlink:to='lab_us-gaap_InventoryPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_UseOfEstimates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Use of Estimates in The Preparation of Financial Statements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_UseOfEstimates' xlink:to='lab_us-gaap_UseOfEstimates'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effect of exchange rate changes on cash</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:to='lab_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and equipment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Property and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:to='lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued expenses</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:to='lab_us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementEquityComponentsAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Components [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='lab_us-gaap_StatementEquityComponentsAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfStockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='lab_us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional paid-in capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalCommonStock' xlink:to='lab_us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock, $.01 par value; 50,000 shares authorized, issued 3,335 shares in 2024 and 3,630 shares in 2023</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockValue' xlink:to='lab_us-gaap_CommonStockValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Inventories (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryNet' xlink:to='lab_us-gaap_InventoryNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, after Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:label='fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee Operating Lease for Parking Lot Term of Contract</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:to='lab_fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInAustralia' xlink:label='fil_LongLivedAssetsInAustralia'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInAustralia' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Australia</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInAustralia' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Australia, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInAustralia' xlink:to='lab_fil_LongLivedAssetsInAustralia'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range3Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 3</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range3Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 3, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_Range3Member' xlink:to='lab_fil_Range3Member'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Next twelve months period over which unrecognized compensation is expected to be recognized for equity-based compensation plans.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:to='lab_us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities, Net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilities' xlink:role='http://www.xbrl.org/2009/role/negatedTotalLabel' xml:lang='en-US'>Deferred Tax Liabilities, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxLiabilities' xlink:to='lab_us-gaap_DeferredTaxLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual' xlink:label='us-gaap_ProductWarrantyAccrual'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProductWarrantyAccrual' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Standard and Extended Product Warranty Accrual</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProductWarrantyAccrual' xlink:to='lab_us-gaap_ProductWarrantyAccrual'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LitigationReserveCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Estimated Litigation Liability, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LitigationReserveCurrent' xlink:to='lab_us-gaap_LitigationReserveCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryRawMaterials' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Raw Materials, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryRawMaterials' xlink:to='lab_us-gaap_InventoryRawMaterials'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Three</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:label='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Quarterly Financial Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PolicyTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='lab_us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:to='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock issued upon exercise of employee stock options, shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:to='lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EquityComponentDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Component</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EquityComponentDomain' xlink:to='lab_us-gaap_EquityComponentDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesOutstanding' xlink:to='lab_us-gaap_CommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued expenses (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Accrued expenses (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_AccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts and other receivables, net (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsReceivableNetCurrent' xlink:to='lab_us-gaap_AccountsReceivableNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='lab_us-gaap_AssetsCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFinStmtErrorCorrectionFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Financial Statement Error Correction</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFinStmtErrorCorrectionFlag' xlink:to='lab_dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityInteractiveDataCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Interactive Data Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityInteractiveDataCurrent' xlink:to='lab_dei_EntityInteractiveDataCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressCityOrTown' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, City or Town</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressCityOrTown' xlink:to='lab_dei_EntityAddressCityOrTown'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFileNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Securities Act File Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFileNumber' xlink:to='lab_dei_EntityFileNumber'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GynecologyElectrosurgeryUrologyMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gynecology/Electrosurgery/Urology</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GynecologyElectrosurgeryUrologyMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Gynecology/Electrosurgery/Urology, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_GynecologyElectrosurgeryUrologyMember' xlink:to='lab_fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInIreland' xlink:label='fil_LongLivedAssetsInIreland'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInIreland' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Ireland</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInIreland' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInIreland' xlink:to='lab_fil_LongLivedAssetsInIreland'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesInTheUnitedStates' xlink:label='fil_CompanySalesInTheUnitedStates'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales in the United States</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInTheUnitedStates' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales in the United States, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CompanySalesInTheUnitedStates' xlink:to='lab_fil_CompanySalesInTheUnitedStates'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_WeightedAverageRemainingContractualLifeYears' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Remaining Contractual Life (Years)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_WeightedAverageRemainingContractualLifeYears' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_WeightedAverageRemainingContractualLifeYears' xlink:to='lab_fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:to='lab_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_SegmentGeographicalDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_SegmentGeographicalDomain' xlink:to='lab_srt_SegmentGeographicalDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingsAndImprovementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Buildings and Improvements, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingsAndImprovementsGross' xlink:to='lab_us-gaap_BuildingsAndImprovementsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Two</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Compensation, Stock Options, Activity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SegmentReportingDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 17 - Segment Information</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SegmentReportingDisclosureTextBlock' xlink:to='lab_us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInAccountsPayable' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInAccountsPayable' xlink:to='lab_us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdditionalPaidInCapitalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Additional Paid-in Capital</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdditionalPaidInCapitalMember' xlink:to='lab_us-gaap_AdditionalPaidInCapitalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProfitLoss' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Net Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProfitLoss' xlink:to='lab_us-gaap_ProfitLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent' xlink:label='us-gaap_OtherLiabilitiesNoncurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherLiabilitiesNoncurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long term income tax payable (REPAT tax) (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherLiabilitiesNoncurrent' xlink:to='lab_us-gaap_OtherLiabilitiesNoncurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityEmergingGrowthCompany' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Emerging Growth Company</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityEmergingGrowthCompany' xlink:to='lab_dei_EntityEmergingGrowthCompany'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedIncomeTaxesPayableReceivable' xlink:label='fil_AccruedIncomeTaxesPayableReceivable'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AccruedIncomeTaxesPayableReceivable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued income taxes payable (receivable)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AccruedIncomeTaxesPayableReceivable' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Accrued income taxes payable (receivable), as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AccruedIncomeTaxesPayableReceivable' xlink:to='lab_fil_AccruedIncomeTaxesPayableReceivable'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Regulatory approvals &amp; product certifications</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:to='lab_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedPatentsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Patents, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedPatentsGross' xlink:to='lab_us-gaap_FiniteLivedPatentsGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_RevenuesbyproductcategoryandregionTextBlock' xlink:label='fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_RevenuesbyproductcategoryandregionTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 11 - Revenues By Product Category And Region</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_RevenuesbyproductcategoryandregionTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Revenues by Product Category and Region.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_RevenuesbyproductcategoryandregionTextBlock' xlink:to='lab_fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SignificantAccountingPoliciesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 1 - Summary of Significant Accounting Policies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SignificantAccountingPoliciesTextBlock' xlink:to='lab_us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividends' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividends paid</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsOfDividends' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Dividends paid</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsOfDividends' xlink:to='lab_us-gaap_PaymentsOfDividends'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Common stock purchased and retired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:to='lab_us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock received and retired upon exercise of stock options</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:to='lab_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income before provision for income taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Income before provision for income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesIssued' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares, Issued</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesIssued' xlink:to='lab_us-gaap_CommonStockSharesIssued'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total stockholders&apos; equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total stockholders&apos; equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquity' xlink:to='lab_us-gaap_StockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalPeriodFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Period Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalPeriodFocus' xlink:to='lab_dei_DocumentFiscalPeriodFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressAddressLine1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Address Line One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressAddressLine1' xlink:to='lab_dei_EntityAddressAddressLine1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet' xlink:label='us-gaap_OtherOperatingIncomeExpenseNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherOperatingIncomeExpenseNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Operating Income (Expense), Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherOperatingIncomeExpenseNet' xlink:to='lab_us-gaap_OtherOperatingIncomeExpenseNet'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesOther' xlink:label='fil_CompanySalesOther'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales Other</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesOther' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales Other, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CompanySalesOther' xlink:to='lab_fil_CompanySalesOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Income Tax Expense (Benefit)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:label='us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effect of foreign exchange</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:to='lab_us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-Lived Tangible Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Effective Income Tax Rate Reconciliation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock' xlink:label='us-gaap_ReceivablesPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ReceivablesPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ReceivablesPolicyTextBlock' xlink:to='lab_us-gaap_ReceivablesPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementTable' xlink:to='lab_us-gaap_StatementTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherInterestAndDividendIncome' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Dividend and interest income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherInterestAndDividendIncome' xlink:to='lab_us-gaap_OtherInterestAndDividendIncome'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SellingAndMarketingExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Sales and marketing</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SellingAndMarketingExpense' xlink:to='lab_us-gaap_SellingAndMarketingExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CostOfGoodsAndServicesSold' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cost of goods sold</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CostOfGoodsAndServicesSold' xlink:to='lab_us-gaap_CostOfGoodsAndServicesSold'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies' xlink:label='us-gaap_CommitmentsAndContingencies'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommitmentsAndContingencies' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Commitments and contingencies (notes 6 and 12)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommitmentsAndContingencies' xlink:to='lab_us-gaap_CommitmentsAndContingencies'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Assets' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Assets' xlink:to='lab_us-gaap_Assets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorLocation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Location</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorLocation' xlink:to='lab_dei_AuditorLocation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_LocalPhoneNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Local Phone Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_LocalPhoneNumber' xlink:to='lab_dei_LocalPhoneNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityFilerCategory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Filer Category</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityFilerCategory' xlink:to='lab_dei_EntityFilerCategory'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OperatingIncomeMargin' xlink:label='fil_OperatingIncomeMargin'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_OperatingIncomeMargin' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Income Margin</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_OperatingIncomeMargin' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the percentage value of Operating Income Margin, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_OperatingIncomeMargin' xlink:to='lab_fil_OperatingIncomeMargin'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInEngland' xlink:label='fil_LongLivedAssetsInEngland'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInEngland' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in England</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInEngland' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in England, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInEngland' xlink:to='lab_fil_LongLivedAssetsInEngland'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementScenarioAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Scenario [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementScenarioAxis' xlink:to='lab_srt_StatementScenarioAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustment To Deferred Tax Liability</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Adjustment To Deferred Tax Liability</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AdjustmentToDeferredTaxLiability' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AdjustmentToDeferredTaxLiability' xlink:to='lab_fil_AdjustmentToDeferredTaxLiability'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Liabilities Depreciation and Amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Deferred Tax Liabilities Depreciation and Amortization</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:to='lab_fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LitigationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Litigation Expense</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LitigationExpense' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Litigation Expense, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LitigationExpense' xlink:to='lab_fil_LitigationExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Assets, Net</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Finite-Lived Intangible Assets, Net</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsNet' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsReceivableGrossCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts Receivable, before Allowance for Credit Loss, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsReceivableGrossCurrent' xlink:to='lab_us-gaap_AccountsReceivableGrossCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Deferred Tax Assets and Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfCondensedBalanceSheetTableTextBlock' xlink:label='srt_ScheduleOfCondensedBalanceSheetTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScheduleOfCondensedBalanceSheetTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Detail of Certain Balance Sheet Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScheduleOfCondensedBalanceSheetTableTextBlock' xlink:to='lab_srt_ScheduleOfCondensedBalanceSheetTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:label='us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Concentration of Credit Risk</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:to='lab_us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:label='fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 12 - Product Sale and Purchase Commitments</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Product Sale and Purchase Commitments.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:to='lab_fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash provided by operating activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net cash provided by operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Adjustments to reconcile net income to net cash provided by operating activities:</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock issued upon exercise of employee stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:to='lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Equity Balance, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Equity Balance, shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Equity Balance, shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharesOutstanding' xlink:to='lab_us-gaap_SharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>ASSETS</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsAbstract' xlink:to='lab_us-gaap_AssetsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_Security12bTitle' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Title of 12(b) Security</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_Security12bTitle' xlink:to='lab_dei_Security12bTitle'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityTaxIdentificationNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Tax Identification Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityTaxIdentificationNumber' xlink:to='lab_dei_EntityTaxIdentificationNumber'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GrossProfitMargin' xlink:label='fil_GrossProfitMargin'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GrossProfitMargin' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross Profit Margin</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GrossProfitMargin' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the percentage value of Gross Profit Margin, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_GrossProfitMargin' xlink:to='lab_fil_GrossProfitMargin'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:label='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Weighted Average Discount Rate, Percent</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:to='lab_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost' xlink:label='us-gaap_OperatingLeaseCost'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseCost' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Cost</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseCost' xlink:to='lab_us-gaap_OperatingLeaseCost'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ObstetricsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Obstetrics</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ObstetricsMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Obstetrics, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ObstetricsMember' xlink:to='lab_fil_ObstetricsMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range2Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 2</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range2Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 2, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_Range2Member' xlink:to='lab_fil_Range2Member'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:to='lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_StatementGeographicalAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Geographical [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_StatementGeographicalAxis' xlink:to='lab_srt_StatementGeographicalAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedTrademarksGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Trademarks, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedTrademarksGross' xlink:to='lab_us-gaap_FiniteLivedTrademarksGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss' xlink:label='us-gaap_GoodwillImpairmentLoss'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GoodwillImpairmentLoss' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Subtractions as a result of impairment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GoodwillImpairmentLoss' xlink:to='lab_us-gaap_GoodwillImpairmentLoss'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryWorkInProcess' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Work in Process, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryWorkInProcess' xlink:to='lab_us-gaap_InventoryWorkInProcess'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, Diluted, Adjustment</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Dilutive effect of stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:to='lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Useful Life</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Segment Reporting Information, by Segment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:to='lab_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Global Revenues By Product Category</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Schedule of Global Revenues by Product Category.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:to='lab_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Components of Income Tax Expense (Benefit)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:label='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock-based Compensation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:to='lab_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:label='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 13 - Employee Benefit Plans</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:to='lab_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag' xlink:label='ecd_Rule10b51ArrTrmntdFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_Rule10b51ArrTrmntdFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rule 10b5-1 Arrangement Terminated</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_Rule10b51ArrTrmntdFlag' xlink:to='lab_ecd_Rule10b51ArrTrmntdFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodStartLabel' xml:lang='en-US'>Cash at beginning of year</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Cash at end of year</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:to='lab_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeNetOfTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total comprehensive income</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeNetOfTax' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total comprehensive income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ComprehensiveIncomeNetOfTax' xlink:to='lab_us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Liabilities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Liabilities' xlink:to='lab_us-gaap_Liabilities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityWellKnownSeasonedIssuer' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Well-known Seasoned Issuer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityWellKnownSeasonedIssuer' xlink:to='lab_dei_EntityWellKnownSeasonedIssuer'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityPublicFloat' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Public Float</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityPublicFloat' xlink:to='lab_dei_EntityPublicFloat'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent' xlink:label='us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseLiabilityCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Liability, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseLiabilityCurrent' xlink:to='lab_us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Defined Contribution Plan, Employer Discretionary Contribution Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:to='lab_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_NeonatalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Neonatal</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_NeonatalMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Neonatal, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_NeonatalMember' xlink:to='lab_fil_NeonatalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:label='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:to='lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Land' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Land</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Land' xlink:to='lab_us-gaap_Land'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAccruedLiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAccruedLiabilitiesCurrent' xlink:to='lab_us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseRightOfUseAsset' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Right-of-Use Asset</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseRightOfUseAsset' xlink:to='lab_us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventory, Finished Goods, Net of Reserves</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:to='lab_us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts and Other Receivables, Net, Current</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Accounts and Other Receivables, Net, Current</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:to='lab_us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedInterestAndOther' xlink:label='fil_AccruedInterestAndOther'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_AccruedInterestAndOther' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accrued interest and other</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_AccruedInterestAndOther' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Accrued interest and other, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_AccruedInterestAndOther' xlink:to='lab_fil_AccruedInterestAndOther'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MinimumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Minimum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MinimumMember' xlink:to='lab_srt_MinimumMember'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:label='fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property Plant and Equipment by Location</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:to='lab_fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GeographicInformationTextBlock' xlink:label='fil_GeographicInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 9 - Geographic Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Geographic Sales Information.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_GeographicInformationTextBlock' xlink:to='lab_fil_GeographicInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Intangible assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PaymentsToAcquireIntangibleAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Intangible assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PaymentsToAcquireIntangibleAssets' xlink:to='lab_us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock-based compensation expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensation' xlink:to='lab_us-gaap_ShareBasedCompensation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementLineItems' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statement [Line Items]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementLineItems' xlink:to='lab_us-gaap_StatementLineItems'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for income taxes (note 7)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Provision for income taxes (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_IncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingExpensesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingExpensesAbstract' xlink:to='lab_us-gaap_OperatingExpensesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Gross profit</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GrossProfit' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Gross Profit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GrossProfit' xlink:to='lab_us-gaap_GrossProfit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Sales, net (notes 1, 3, 9 and 11)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Net Sales</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:to='lab_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockSharesAuthorized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Shares Authorized</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockSharesAuthorized' xlink:to='lab_us-gaap_CommonStockSharesAuthorized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrent' xlink:to='lab_us-gaap_LiabilitiesCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property and equipment, net (notes 4 and 10)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentNet' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Property and equipment, net (notes 4 and 10)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentNet' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod' xlink:label='dei_EntityExTransitionPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityExTransitionPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Ex Transition Period</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityExTransitionPeriod' xlink:to='lab_dei_EntityExTransitionPeriod'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntitySmallBusiness' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Small Business</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntitySmallBusiness' xlink:to='lab_dei_EntitySmallBusiness'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Remaining years of exclusive U.S. distribution rights for Femcare&apos;s Filshie Clip System</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Remaining years of exclusive U.S. distribution rights for Femcare&apos;s Filshie Clip System, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:to='lab_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_USAndCanadaMember' xlink:label='fil_USAndCanadaMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_USAndCanadaMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>U.S. And Canada</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_USAndCanadaMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the U.S. And Canada, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_USAndCanadaMember' xlink:to='lab_fil_USAndCanadaMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Five</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign Currency Exchange Rate Translation GBP to USD</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Foreign exchange rate used to translate amounts denominated in functional currency GBP to reporting currency USD.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:to='lab_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of OUS Revenues By Product Category</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Schedule of OUS Revenues by Product Category.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:to='lab_fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerSharePolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerSharePolicyTextBlock' xlink:to='lab_us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock' xlink:label='us-gaap_EarningsPerShareTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 16 - Earnings Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareTextBlock' xlink:to='lab_us-gaap_EarningsPerShareTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 2 - Detail of Certain Balance Sheet Accounts</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:to='lab_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag' xlink:label='ecd_Rule10b51ArrAdoptedFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_Rule10b51ArrAdoptedFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Rule 10b5-1 Arrangement Adopted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_Rule10b51ArrAdoptedFlag' xlink:to='lab_ecd_Rule10b51ArrAdoptedFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaid' xlink:label='us-gaap_InterestPaid'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestPaid' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestPaid' xlink:to='lab_us-gaap_InterestPaid'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net cash (used in) financing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tax benefit attributable to exercise of stock options</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:to='lab_us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amortization of operating lease assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:to='lab_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_GeneralAndAdministrativeExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>General and administrative</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_GeneralAndAdministrativeExpense' xlink:to='lab_us-gaap_GeneralAndAdministrativeExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total liabilities and stockholders&apos; equity</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesAndStockholdersEquity' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total liabilities and stockholders&apos; equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesAndStockholdersEquity' xlink:to='lab_us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Goodwill' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Goodwill</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Goodwill' xlink:role='http://www.xbrl.org/2003/role/periodEndLabel' xml:lang='en-US'>Total Goodwill as of December 31</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Goodwill' xlink:to='lab_us-gaap_Goodwill'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription' xlink:label='dei_AmendmentDescription'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentDescription' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Description</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentDescription' xlink:to='lab_dei_AmendmentDescription'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CurrentFiscalYearEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current Fiscal Year End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CurrentFiscalYearEndDate' xlink:to='lab_dei_CurrentFiscalYearEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityRegistrantName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Registrant Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityRegistrantName' xlink:to='lab_dei_EntityRegistrantName'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OtherCostOfSales' xlink:label='fil_OtherCostOfSales'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_OtherCostOfSales' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other cost of sales</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_OtherCostOfSales' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Other cost of sales, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_OtherCostOfSales' xlink:to='lab_fil_OtherCostOfSales'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ProductsAndServicesDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Product and Service</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ProductsAndServicesDomain' xlink:to='lab_srt_ProductsAndServicesDomain'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GlobalMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Global</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GlobalMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Global, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_GlobalMember' xlink:to='lab_fil_GlobalMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:to='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range1Member' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Range 1</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_Range1Member' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Range 1, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_Range1Member' xlink:to='lab_fil_Range1Member'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:to='lab_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve' xlink:label='us-gaap_LitigationReserve'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LitigationReserve' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Estimated Litigation Liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LitigationReserve' xlink:to='lab_us-gaap_LitigationReserve'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CoopersurgicalIncMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>CooperSurgical Inc</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CoopersurgicalIncMember' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the CooperSurgical Inc, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CoopersurgicalIncMember' xlink:to='lab_fil_CoopersurgicalIncMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_MaximumMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Maximum</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_MaximumMember' xlink:to='lab_srt_MaximumMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:label='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Earnings Per Share, Basic and Diluted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash and Cash Equivalents</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:to='lab_us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GeographicLongLivedAssetsInformationTextBlock' xlink:label='fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicLongLivedAssetsInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 10 - Geographic Long-Lived Assets Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_GeographicLongLivedAssetsInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Geographic Long-Lived Assets Information.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_GeographicLongLivedAssetsInformationTextBlock' xlink:to='lab_fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Proceeds from the sale of property and equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:to='lab_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid expenses and other current assets {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Prepaid expenses and other current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:to='lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained Earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsMember' xlink:to='lab_us-gaap_RetainedEarningsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings per common share (basic) (note 1)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareBasic' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Earnings per common share (basic) (note 1)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareBasic' xlink:to='lab_us-gaap_EarningsPerShareBasic'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accumulated other comprehensive loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:to='lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LiabilitiesCurrentAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Current liabilities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='lab_us-gaap_LiabilitiesCurrentAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes (note 7)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:to='lab_us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other intangible assets - net (note 2)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Other intangible assets - net (note 2)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:to='lab_us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorName' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Name</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorName' xlink:to='lab_dei_AuditorName'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentFiscalYearFocus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Fiscal Year Focus</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentFiscalYearFocus' xlink:to='lab_dei_DocumentFiscalYearFocus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AmendmentFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Amendment Flag</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AmendmentFlag' xlink:to='lab_dei_AmendmentFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:label='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Operating Lease, Weighted Average Remaining Lease Term</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:to='lab_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Expired</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:to='lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income (Loss) from Continuing Operations before Income Taxes, Foreign</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:to='lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:to='lab_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConstructionInProgressGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Construction in Progress, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConstructionInProgressGross' xlink:to='lab_us-gaap_ConstructionInProgressGross'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Diluted shares</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, Diluted</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:to='lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AllocatedShareBasedCompensationExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AllocatedShareBasedCompensationExpense' xlink:to='lab_us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Intangible Asset, Expected Amortization, Year Four</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:to='lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Distribution Rights Acquisition [Axis]</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionAxis' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the description of Distribution Rights Acquisition, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='lab_fil_DistributionRightsAcquisitionAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:label='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule of Income before Income Tax, Domestic and Foreign</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:to='lab_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TableTextBlockSupplementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Tables/Schedules</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='lab_us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:label='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Translation of Foreign Currencies</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:to='lab_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:label='fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Presentation of Sales and Similar Taxes</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:to='lab_fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock' xlink:label='us-gaap_LongTermDebtTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LongTermDebtTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 5 - Long-term Debt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LongTermDebtTextBlock' xlink:to='lab_us-gaap_LongTermDebtTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable' xlink:label='ecd_TradingArrByIndTable'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_TradingArrByIndTable' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Arrangements, by Individual</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_TradingArrByIndTable' xlink:to='lab_ecd_TradingArrByIndTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ProvisionForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Provision for losses on accounts receivable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ProvisionForDoubtfulAccounts' xlink:to='lab_us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ComprehensiveIncomeMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Comprehensive Income</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ComprehensiveIncomeMember' xlink:to='lab_us-gaap_ComprehensiveIncomeMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ResearchAndDevelopmentExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Research and development</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ResearchAndDevelopmentExpense' xlink:to='lab_us-gaap_ResearchAndDevelopmentExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CommonStockParOrStatedValuePerShare' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common Stock, Par or Stated Value Per Share</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CommonStockParOrStatedValuePerShare' xlink:to='lab_us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_RetainedEarningsAccumulatedDeficit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Retained earnings</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_RetainedEarningsAccumulatedDeficit' xlink:to='lab_us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockholdersEquityAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stockholders&apos; equity</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockholdersEquityAbstract' xlink:to='lab_us-gaap_StockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations' xlink:label='us-gaap_LongTermDebtAndCapitalLeaseObligations'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LongTermDebtAndCapitalLeaseObligations' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long term lease liability</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LongTermDebtAndCapitalLeaseObligations' xlink:to='lab_us-gaap_LongTermDebtAndCapitalLeaseObligations'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash {1}</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:role='http://www.xbrl.org/2003/role/terseLabel' xml:lang='en-US'>Cash</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:to='lab_us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StatementOfFinancialPositionAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='lab_us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_AuditorFirmId' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Auditor Firm ID</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_AuditorFirmId' xlink:to='lab_dei_AuditorFirmId'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentPeriodEndDate' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Period End Date</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentPeriodEndDate' xlink:to='lab_dei_DocumentPeriodEndDate'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Four</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year Three</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesInEurope' xlink:label='fil_CompanySalesInEurope'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInEurope' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Company Sales in Europe</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_CompanySalesInEurope' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Company Sales in Europe, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_CompanySalesInEurope' xlink:to='lab_fil_CompanySalesInEurope'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Income Tax Expense</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DeferredIncomeTaxExpense' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_DeferredIncomeTaxExpense' xlink:to='lab_fil_DeferredIncomeTaxExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Weighted Average Number of Shares Outstanding, Basic</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Weighted average shares, basic</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:to='lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Foreign Currency Exchange Rate Translation AUD to USD</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Foreign exchange rate used to translate amounts denominated in functional currency AUD to reporting currency USD.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:to='lab_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Distribution Rights Acquisition</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_DistributionRightsAcquisitionDomain' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the Distribution Rights Acquisition, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_DistributionRightsAcquisitionDomain' xlink:to='lab_fil_DistributionRightsAcquisitionDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_RangeAxis' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Statistical Measurement [Axis]</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_RangeAxis' xlink:to='lab_srt_RangeAxis'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_BuildingAndBuildingImprovementsMember' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Building and Building Improvements</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_BuildingAndBuildingImprovementsMember' xlink:to='lab_us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:label='us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 15 - CSI Distribution Agreement Purchase Disclosure</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:to='lab_us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:to='lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressStateOrProvince' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, State or Province</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressStateOrProvince' xlink:to='lab_dei_EntityAddressStateOrProvince'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityIncorporationStateCountryCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Incorporation, State or Country Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityIncorporationStateCountryCode' xlink:to='lab_dei_EntityIncorporationStateCountryCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCurrentReportingStatus' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Current Reporting Status</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCurrentReportingStatus' xlink:to='lab_dei_EntityCurrentReportingStatus'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_TradingSymbol' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Trading Symbol</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_TradingSymbol' xlink:to='lab_dei_TradingSymbol'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInCanada' xlink:label='fil_LongLivedAssetsInCanada'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInCanada' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived assets in Canada</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_LongLivedAssetsInCanada' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the monetary amount of Long-lived assets in Canada, as of the indicated date.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_LongLivedAssetsInCanada' xlink:to='lab_fil_LongLivedAssetsInCanada'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:label xlink:type='resource' xlink:label='lab_srt_ScenarioUnspecifiedDomain' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Scenario</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='srt_ScenarioUnspecifiedDomain' xlink:to='lab_srt_ScenarioUnspecifiedDomain'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Interest Income, Securities, Operating, Tax Exempt</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Interest Income, Securities, Operating, Tax Exempt</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:to='lab_us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsInventory' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Assets, Inventory</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsInventory' xlink:to='lab_us-gaap_DeferredTaxAssetsInventory'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Finite-Lived Noncompete Agreements, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:to='lab_us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:label='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Reconciliation of operating lease liabilities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Reconciliation of operating lease liabilities/ payments to operating lease liabilities.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:to='lab_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:label='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Long-lived Assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:to='lab_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ConsolidationPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Principles of Consolidation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ConsolidationPolicyTextBlock' xlink:to='lab_us-gaap_ConsolidationPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock' xlink:label='us-gaap_SubsequentEventsTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SubsequentEventsTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 19 - Subsequent Events</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SubsequentEventsTextBlock' xlink:to='lab_us-gaap_SubsequentEventsTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock' xlink:label='us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeasesTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 14 - Leases</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeasesTextBlock' xlink:to='lab_us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 7 - Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxDisclosureTextBlock' xlink:to='lab_us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Note 4 - Property and Equipment</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag' xlink:label='ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:label xlink:type='resource' xlink:label='lab_ecd_NonRule10b51ArrTrmntdFlag' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Non-Rule 10b5-1 Arrangement Terminated</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='ecd_NonRule10b51ArrTrmntdFlag' xlink:to='lab_ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred income taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:to='lab_us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_Depreciation' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Depreciation</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_Depreciation' xlink:to='lab_us-gaap_Depreciation'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Cash flows from operating activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockOptionPlanExpense' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Stock option compensation expense</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockOptionPlanExpense' xlink:to='lab_us-gaap_StockOptionPlanExpense'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AccountsPayableCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Accounts payable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AccountsPayableCurrent' xlink:to='lab_us-gaap_AccountsPayableCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Total current assets</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_AssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Total current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_AssetsCurrent' xlink:to='lab_us-gaap_AssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_CityAreaCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>City Area Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_CityAreaCode' xlink:to='lab_dei_CityAreaCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityAddressPostalZipCode' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Address, Postal Zip Code</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityAddressPostalZipCode' xlink:to='lab_dei_EntityAddressPostalZipCode'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentAnnualReport' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Annual Report</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentAnnualReport' xlink:to='lab_dei_DocumentAnnualReport'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityCommonStockSharesOutstanding' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Entity Common Stock, Shares Outstanding</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityCommonStockSharesOutstanding' xlink:to='lab_dei_EntityCommonStockSharesOutstanding'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_TextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Details</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_TextBlockAbstract' xlink:to='lab_us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Lessee, Operating Lease, Liability, to be Paid, Year One</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:to='lab_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:to='lab_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:to='lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:to='lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:to='lab_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IE' xlink:label='country_IE'/>
		<link:label xlink:type='resource' xlink:label='lab_country_IE' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>IRELAND</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='country_IE' xlink:to='lab_country_IE'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_PropertyPlantAndEquipmentGross' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Property, Plant and Equipment, Gross</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_PropertyPlantAndEquipmentGross' xlink:to='lab_us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleOfGeographicInformationTextBlock' xlink:label='fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfGeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Schedule Of Geographic Information</link:label>
		<link:label xlink:type='resource' xlink:label='lab_fil_ScheduleOfGeographicInformationTextBlock' xlink:role='http://www.xbrl.org/2003/role/documentation' xml:lang='en-US'>Represents the textual narrative disclosure of Schedule of Geographic Information, during the indicated time period.</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='fil_ScheduleOfGeographicInformationTextBlock' xlink:to='lab_fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LegalCostsPolicyTextBlock' xlink:label='us-gaap_LegalCostsPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_LegalCostsPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Legal Costs</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_LegalCostsPolicyTextBlock' xlink:to='lab_us-gaap_LegalCostsPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeTaxPolicyTextBlock' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Income Taxes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeTaxPolicyTextBlock' xlink:to='lab_us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DisclosureTextBlockAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Notes</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='lab_us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Net cash (used in) investing activities</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:role='http://www.xbrl.org/2003/role/totalLabel' xml:lang='en-US'>Net cash (used in) investing activities</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:to='lab_us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Inventories</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncreaseDecreaseInInventories' xlink:role='http://www.xbrl.org/2009/role/negatedLabel' xml:lang='en-US'>Inventories</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncreaseDecreaseInInventories' xlink:to='lab_us-gaap_IncreaseDecreaseInInventories'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Common stock purchased and retired, shares</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:to='lab_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareDiluted' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Earnings per common share (diluted)</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_EarningsPerShareDiluted' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>Earnings per common share (diluted)</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_EarningsPerShareDiluted' xlink:to='lab_us-gaap_EarningsPerShareDiluted'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</link:label>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_IncomeStatementAbstract' xlink:role='http://www.xbrl.org/2003/role/verboseLabel' xml:lang='en-US'>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='lab_us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Deferred tax liability - intangible assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:to='lab_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:label xlink:type='resource' xlink:label='lab_us-gaap_OtherAssetsCurrent' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Prepaid expenses and other current assets</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='lab_us-gaap_OtherAssetsCurrent'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_EntityVoluntaryFilers' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Voluntary filer</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_EntityVoluntaryFilers' xlink:to='lab_dei_EntityVoluntaryFilers'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:label xlink:type='resource' xlink:label='lab_dei_DocumentType' xlink:role='http://www.xbrl.org/2003/role/label' xml:lang='en-US'>Document Type</link:label>
		<link:labelArc order='1.0' xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/concept-label' xlink:from='dei_DocumentType' xlink:to='lab_dei_DocumentType'/>
	</link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>15
<FILENAME>utmd-20241231_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<link:linkbase xmlns="http://www.xbrl.org/2003/linkbase"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd"
		xmlns:fil="http://www.utahmed.com/20241231"
		xmlns:link="http://www.xbrl.org/2003/linkbase"
		xmlns:xlink="http://www.w3.org/1999/xlink"
		xmlns:xbrldt="http://xbrl.org/2005/xbrldt"
		xmlns:xbrli="http://www.xbrl.org/2003/instance">
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DocumentDocumentAndEntityInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityRegistrantName' xlink:label='dei_EntityRegistrantName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityRegistrantName' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCentralIndexKey' xlink:label='dei_EntityCentralIndexKey'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCentralIndexKey' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentType' xlink:label='dei_DocumentType'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentType' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentPeriodEndDate' xlink:label='dei_DocumentPeriodEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentPeriodEndDate' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CurrentFiscalYearEndDate' xlink:label='dei_CurrentFiscalYearEndDate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CurrentFiscalYearEndDate' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_TradingSymbol' xlink:label='dei_TradingSymbol'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_TradingSymbol' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityTaxIdentificationNumber' xlink:label='dei_EntityTaxIdentificationNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityTaxIdentificationNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCommonStockSharesOutstanding' xlink:label='dei_EntityCommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCommonStockSharesOutstanding' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityPublicFloat' xlink:label='dei_EntityPublicFloat'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityPublicFloat' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFilerCategory' xlink:label='dei_EntityFilerCategory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFilerCategory' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityCurrentReportingStatus' xlink:label='dei_EntityCurrentReportingStatus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityCurrentReportingStatus' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityVoluntaryFilers' xlink:label='dei_EntityVoluntaryFilers'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityVoluntaryFilers' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityWellKnownSeasonedIssuer' xlink:label='dei_EntityWellKnownSeasonedIssuer'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityWellKnownSeasonedIssuer' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityShellCompany' xlink:label='dei_EntityShellCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityShellCompany' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntitySmallBusiness' xlink:label='dei_EntitySmallBusiness'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntitySmallBusiness' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityEmergingGrowthCompany' xlink:label='dei_EntityEmergingGrowthCompany'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityEmergingGrowthCompany' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityExTransitionPeriod' xlink:label='dei_EntityExTransitionPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityExTransitionPeriod' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentDescription' xlink:label='dei_AmendmentDescription'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentDescription' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentAnnualReport' xlink:label='dei_DocumentAnnualReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentAnnualReport' use='optional' order='19.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentTransitionReport' xlink:label='dei_DocumentTransitionReport'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentTransitionReport' use='optional' order='20.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityFileNumber' xlink:label='dei_EntityFileNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityFileNumber' use='optional' order='21.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityIncorporationStateCountryCode' xlink:label='dei_EntityIncorporationStateCountryCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityIncorporationStateCountryCode' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressAddressLine1' xlink:label='dei_EntityAddressAddressLine1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressAddressLine1' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressCityOrTown' xlink:label='dei_EntityAddressCityOrTown'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressCityOrTown' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressStateOrProvince' xlink:label='dei_EntityAddressStateOrProvince'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressStateOrProvince' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityAddressPostalZipCode' xlink:label='dei_EntityAddressPostalZipCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityAddressPostalZipCode' use='optional' order='26.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_CityAreaCode' xlink:label='dei_CityAreaCode'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_CityAreaCode' use='optional' order='27.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_LocalPhoneNumber' xlink:label='dei_LocalPhoneNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_LocalPhoneNumber' use='optional' order='28.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_Security12bTitle' xlink:label='dei_Security12bTitle'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_Security12bTitle' use='optional' order='29.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_SecurityExchangeName' xlink:label='dei_SecurityExchangeName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_SecurityExchangeName' use='optional' order='30.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_EntityInteractiveDataCurrent' xlink:label='dei_EntityInteractiveDataCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_EntityInteractiveDataCurrent' use='optional' order='31.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_IcfrAuditorAttestationFlag' xlink:label='dei_IcfrAuditorAttestationFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_IcfrAuditorAttestationFlag' use='optional' order='32.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFinStmtErrorCorrectionFlag' xlink:label='dei_DocumentFinStmtErrorCorrectionFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFinStmtErrorCorrectionFlag' use='optional' order='33.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AmendmentFlag' xlink:label='dei_AmendmentFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AmendmentFlag' use='optional' order='34.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalYearFocus' xlink:label='dei_DocumentFiscalYearFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalYearFocus' use='optional' order='35.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_DocumentFiscalPeriodFocus' xlink:label='dei_DocumentFiscalPeriodFocus'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_DocumentFiscalPeriodFocus' use='optional' order='36.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorName' xlink:label='dei_AuditorName'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorName' use='optional' order='37.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorLocation' xlink:label='dei_AuditorLocation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorLocation' use='optional' order='38.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/dei/2024/dei-2024.xsd#dei_AuditorFirmId' xlink:label='dei_AuditorFirmId'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='dei_AuditorFirmId' use='optional' order='39.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsAbstract' xlink:label='us-gaap_AssetsAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_Goodwill' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill' xlink:label='us-gaap_IntangibleAssetsNetExcludingGoodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_IntangibleAssetsNetExcludingGoodwill' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Assets' xlink:label='us-gaap_Assets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsAbstract' xlink:to='us-gaap_Assets' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrentAbstract' xlink:label='us-gaap_AssetsCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AssetsCurrentAbstract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue' xlink:label='us-gaap_CashAndCashEquivalentsAtCarryingValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_CashAndCashEquivalentsAtCarryingValue' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableNetCurrent' xlink:label='us-gaap_AccountsReceivableNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_AccountsReceivableNetCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAssetsCurrent' xlink:label='us-gaap_OtherAssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AssetsCurrentAbstract' xlink:to='us-gaap_OtherAssetsCurrent' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AssetsCurrent' xlink:label='us-gaap_AssetsCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherAssetsCurrent' xlink:to='us-gaap_AssetsCurrent' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:label='us-gaap_LiabilitiesAndStockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquityAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtAndCapitalLeaseObligations' xlink:label='us-gaap_LongTermDebtAndCapitalLeaseObligations'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_LongTermDebtAndCapitalLeaseObligations' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherLiabilitiesNoncurrent' xlink:label='us-gaap_OtherLiabilitiesNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_OtherLiabilitiesNoncurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' xlink:label='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet' xlink:label='us-gaap_DeferredIncomeTaxLiabilitiesNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_DeferredIncomeTaxLiabilitiesNet' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingencies' xlink:label='us-gaap_CommitmentsAndContingencies'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesAndStockholdersEquityAbstract' xlink:to='us-gaap_CommitmentsAndContingencies' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrentAbstract' xlink:label='us-gaap_LiabilitiesCurrentAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesCurrentAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsPayableCurrent' xlink:label='us-gaap_AccountsPayableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccountsPayableCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesCurrent' xlink:label='us-gaap_LiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_LiabilitiesCurrentAbstract' xlink:to='us-gaap_LiabilitiesCurrent' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Liabilities' xlink:label='us-gaap_Liabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_Liabilities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityAbstract' xlink:label='us-gaap_StockholdersEquityAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_StockholdersEquityAbstract' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockValue' xlink:label='us-gaap_CommonStockValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockValue' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' xlink:label='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalCommonStock' xlink:label='us-gaap_AdditionalPaidInCapitalCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_AdditionalPaidInCapitalCommonStock' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsAccumulatedDeficit' xlink:label='us-gaap_RetainedEarningsAccumulatedDeficit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_RetainedEarningsAccumulatedDeficit' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquity' xlink:label='us-gaap_StockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_StockholdersEquity' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LiabilitiesAndStockholdersEquity' xlink:label='us-gaap_LiabilitiesAndStockholdersEquity'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_LiabilitiesAndStockholdersEquity' use='optional' order='12.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfFinancialPositionAbstract' xlink:label='us-gaap_StatementOfFinancialPositionAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockParOrStatedValuePerShare' xlink:label='us-gaap_CommonStockParOrStatedValuePerShare'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockParOrStatedValuePerShare' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesAuthorized' xlink:label='us-gaap_CommonStockSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesAuthorized' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesIssued' xlink:label='us-gaap_CommonStockSharesIssued'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesIssued' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockSharesOutstanding' xlink:label='us-gaap_CommonStockSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfFinancialPositionAbstract' xlink:to='us-gaap_CommonStockSharesOutstanding' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CostOfGoodsAndServicesSold' xlink:label='us-gaap_CostOfGoodsAndServicesSold'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_CostOfGoodsAndServicesSold' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingExpensesAbstract' xlink:label='us-gaap_OperatingExpensesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingExpensesAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GeneralAndAdministrativeExpense' xlink:label='us-gaap_GeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_GeneralAndAdministrativeExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherIncomeAndExpensesAbstract' xlink:label='us-gaap_OtherIncomeAndExpensesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherIncomeAndExpensesAbstract' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherIncomeAndExpensesAbstract' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherIncomeAndExpensesAbstract' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherNonoperatingIncomeExpense' xlink:label='us-gaap_OtherNonoperatingIncomeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherIncomeAndExpensesAbstract' xlink:to='us-gaap_OtherNonoperatingIncomeExpense' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_OtherIncomeAndExpensesAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareBasic' use='optional' order='12.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='13.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='14.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeNetOfTax' xlink:label='us-gaap_ComprehensiveIncomeNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_ComprehensiveIncomeNetOfTax' use='optional' order='15.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeStatementAbstract' xlink:label='us-gaap_IncomeStatementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_IncomeStatementAbstract' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfStockholdersEquityAbstract' xlink:label='us-gaap_StatementOfStockholdersEquityAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfStockholdersEquityAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementEquityComponentsAxis' xlink:label='us-gaap_StatementEquityComponentsAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementEquityComponentsAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommonStockMember' xlink:label='us-gaap_CommonStockMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_CommonStockMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdditionalPaidInCapitalMember' xlink:label='us-gaap_AdditionalPaidInCapitalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_AdditionalPaidInCapitalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ComprehensiveIncomeMember' xlink:label='us-gaap_ComprehensiveIncomeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_ComprehensiveIncomeMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RetainedEarningsMember' xlink:label='us-gaap_RetainedEarningsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_RetainedEarningsMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquityComponentDomain' xlink:label='us-gaap_EquityComponentDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementEquityComponentsAxis' xlink:to='us-gaap_EquityComponentDomain' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharesOutstanding' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' xlink:label='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' xlink:label='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockOptionPlanExpense' xlink:label='us-gaap_StockOptionPlanExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockOptionPlanExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' xlink:label='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockRepurchasedAndRetiredDuringPeriodShares' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' xlink:label='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DividendsCommonStockCash' xlink:label='us-gaap_DividendsCommonStockCash'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_DividendsCommonStockCash' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest' xlink:label='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest_1' use='optional' order='13.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharesOutstanding' xlink:label='us-gaap_SharesOutstanding_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharesOutstanding_1' use='optional' order='14.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementOfCashFlowsAbstract' xlink:label='us-gaap_StatementOfCashFlowsAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:label='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Depreciation' xlink:label='us-gaap_Depreciation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_Depreciation' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProvisionForDoubtfulAccounts' xlink:label='us-gaap_ProvisionForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_ProvisionForDoubtfulAccounts' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' xlink:label='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit' xlink:label='us-gaap_DeferredIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DeferredIncomeTaxExpenseBenefit' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensation' xlink:label='us-gaap_ShareBasedCompensation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_ShareBasedCompensation' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxExpenseFromStockOptionsExercised' xlink:label='us-gaap_DeferredTaxExpenseFromStockOptionsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_DeferredTaxExpenseFromStockOptionsExercised' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable' xlink:label='us-gaap_IncreaseDecreaseInAccountsReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsReceivable' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInOtherReceivables' xlink:label='us-gaap_IncreaseDecreaseInOtherReceivables'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInOtherReceivables' use='optional' order='9.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInInventories' xlink:label='us-gaap_IncreaseDecreaseInInventories'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInInventories' use='optional' order='10.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' xlink:label='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccountsPayable' xlink:label='us-gaap_IncreaseDecreaseInAccountsPayable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccountsPayable' use='optional' order='12.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities' xlink:label='us-gaap_IncreaseDecreaseInAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_IncreaseDecreaseInAccruedLiabilities' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInOperatingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInOperatingActivities' use='optional' order='14.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' xlink:label='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquirePropertyPlantAndEquipment' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsToAcquireIntangibleAssets' xlink:label='us-gaap_PaymentsToAcquireIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_PaymentsToAcquireIntangibleAssets' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' xlink:label='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInInvestingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInInvestingActivities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProceedsFromIssuanceOfCommonStock' xlink:label='us-gaap_ProceedsFromIssuanceOfCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_ProceedsFromIssuanceOfCommonStock' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock' xlink:label='us-gaap_PaymentsForRepurchaseOfCommonStock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsForRepurchaseOfCommonStock' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PaymentsOfDividends' xlink:label='us-gaap_PaymentsOfDividends'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_PaymentsOfDividends' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities' xlink:label='us-gaap_NetCashProvidedByUsedInFinancingActivities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract' xlink:to='us-gaap_NetCashProvidedByUsedInFinancingActivities' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/periodStartLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents' xlink:label='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_1' use='optional' order='9.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxesPaid' xlink:label='us-gaap_IncomeTaxesPaid'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_IncomeTaxesPaid' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestPaid' xlink:label='us-gaap_InterestPaid'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementOfCashFlowsAbstract' xlink:to='us-gaap_InterestPaid' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_StatementTradingArrangementsByIndividual"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_TradingArrByIndTable' xlink:label='ecd_TradingArrByIndTable'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrAdoptedFlag' xlink:label='ecd_Rule10b51ArrAdoptedFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_Rule10b51ArrAdoptedFlag' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrAdoptedFlag' xlink:label='ecd_NonRule10b51ArrAdoptedFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_NonRule10b51ArrAdoptedFlag' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_Rule10b51ArrTrmntdFlag' xlink:label='ecd_Rule10b51ArrTrmntdFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_Rule10b51ArrTrmntdFlag' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd#ecd_NonRule10b51ArrTrmntdFlag' xlink:label='ecd_NonRule10b51ArrTrmntdFlag'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='ecd_TradingArrByIndTable' xlink:to='ecd_NonRule10b51ArrTrmntdFlag' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SignificantAccountingPoliciesTextBlock' xlink:label='us-gaap_SignificantAccountingPoliciesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SignificantAccountingPoliciesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' xlink:label='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SupplementalBalanceSheetDisclosuresTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_QuarterlyFinancialInformationTextBlock' xlink:label='us-gaap_QuarterlyFinancialInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_QuarterlyFinancialInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipment"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote5LongTermDebt"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebtTextBlock' xlink:label='us-gaap_LongTermDebtTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_LongTermDebtTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote6CommitmentsAndContingencies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' xlink:label='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_CommitmentsAndContingenciesDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxes"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxDisclosureTextBlock' xlink:label='us-gaap_IncomeTaxDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IncomeTaxDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8Options"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' xlink:label='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GeographicInformationTextBlock' xlink:label='fil_GeographicInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_GeographicInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GeographicLongLivedAssetsInformationTextBlock' xlink:label='fil_GeographicLongLivedAssetsInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_GeographicLongLivedAssetsInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegion"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_RevenuesbyproductcategoryandregionTextBlock' xlink:label='fil_RevenuesbyproductcategoryandregionTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_RevenuesbyproductcategoryandregionTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitments"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ProductSaleAndPurchaseCommitmentsTextBlock' xlink:label='fil_ProductSaleAndPurchaseCommitmentsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='fil_ProductSaleAndPurchaseCommitmentsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote13EmployeeBenefitPlans"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' xlink:label='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14Leases"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeasesTextBlock' xlink:label='us-gaap_LesseeOperatingLeasesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeasesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock' xlink:label='us-gaap_IntangibleAssetsDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_IntangibleAssetsDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShare"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareTextBlock' xlink:label='us-gaap_EarningsPerShareTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_EarningsPerShareTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformation"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SegmentReportingDisclosureTextBlock' xlink:label='us-gaap_SegmentReportingDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SegmentReportingDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote18RecentAccountingPronouncements"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote19SubsequentEvents"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DisclosureTextBlockAbstract' xlink:label='us-gaap_DisclosureTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SubsequentEventsTextBlock' xlink:label='us-gaap_SubsequentEventsTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_DisclosureTextBlockAbstract' xlink:to='us-gaap_SubsequentEventsTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_UseOfEstimates' xlink:label='us-gaap_UseOfEstimates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_UseOfEstimates' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConsolidationPolicyTextBlock' xlink:label='us-gaap_ConsolidationPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConsolidationPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CashAndCashEquivalentsPolicyTextBlock' xlink:label='us-gaap_CashAndCashEquivalentsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_CashAndCashEquivalentsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConcentrationRiskDisclosureTextBlock' xlink:label='us-gaap_ConcentrationRiskDisclosureTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ConcentrationRiskDisclosureTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ReceivablesPolicyTextBlock' xlink:label='us-gaap_ReceivablesPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ReceivablesPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryPolicyTextBlock' xlink:label='us-gaap_InventoryPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_InventoryPolicyTextBlock' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' xlink:label='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' xlink:label='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' xlink:label='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueRecognitionPolicyTextBlock' xlink:label='us-gaap_RevenueRecognitionPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_RevenueRecognitionPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxPolicyTextBlock' xlink:label='us-gaap_IncomeTaxPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_IncomeTaxPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LegalCostsPolicyTextBlock' xlink:label='us-gaap_LegalCostsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_LegalCostsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerSharePolicyTextBlock' xlink:label='us-gaap_EarningsPerSharePolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_EarningsPerSharePolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_PresentationOfSalesAndSimilarTaxesTextBlock' xlink:label='fil_PresentationOfSalesAndSimilarTaxesTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='fil_PresentationOfSalesAndSimilarTaxesTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' xlink:label='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PolicyTextBlockAbstract' xlink:label='us-gaap_PolicyTextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' xlink:label='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PolicyTextBlockAbstract' xlink:to='us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' xlink:label='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScheduleOfCondensedBalanceSheetTableTextBlock' xlink:label='srt_ScheduleOfCondensedBalanceSheetTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='srt_ScheduleOfCondensedBalanceSheetTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' xlink:label='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTextBlock' xlink:label='us-gaap_PropertyPlantAndEquipmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_PropertyPlantAndEquipmentByLocationTextBlock' xlink:label='fil_PropertyPlantAndEquipmentByLocationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_PropertyPlantAndEquipmentByLocationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' xlink:label='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' xlink:label='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' xlink:label='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' xlink:label='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' xlink:label='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleOfGeographicInformationTextBlock' xlink:label='fil_ScheduleOfGeographicInformationTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleOfGeographicInformationTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' xlink:label='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ScheduleofousrevenuesbyproductcategoryTextBlock' xlink:label='fil_ScheduleofousrevenuesbyproductcategoryTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ScheduleofousrevenuesbyproductcategoryTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' xlink:label='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' xlink:label='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TableTextBlockSupplementAbstract' xlink:label='us-gaap_TableTextBlockSupplementAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' xlink:label='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TableTextBlockSupplementAbstract' xlink:to='us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:label='us-gaap_PropertyPlantAndEquipmentByTypeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_PropertyPlantAndEquipmentByTypeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentTypeDomain' xlink:label='us-gaap_PropertyPlantAndEquipmentTypeDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_PropertyPlantAndEquipmentTypeDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingAndBuildingImprovementsMember' xlink:label='us-gaap_BuildingAndBuildingImprovementsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_BuildingAndBuildingImprovementsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EquipmentMember' xlink:label='us-gaap_EquipmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_PropertyPlantAndEquipmentByTypeAxis' xlink:to='us-gaap_EquipmentMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentUsefulLife' xlink:label='us-gaap_PropertyPlantAndEquipmentUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentUsefulLife' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetUsefulLife' xlink:label='us-gaap_FiniteLivedIntangibleAssetUsefulLife'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetUsefulLife' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' xlink:label='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='9.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AllocatedShareBasedCompensationExpense' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserve' xlink:label='us-gaap_LitigationReserve'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LitigationReserve' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsReceivableGrossCurrent' xlink:label='us-gaap_AccountsReceivableGrossCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccountsReceivableGrossCurrent' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedInterestAndOther' xlink:label='fil_AccruedInterestAndOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_AccruedInterestAndOther' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' xlink:label='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccountsAndOtherReceivablesNetCurrent' xlink:label='us-gaap_AccountsAndOtherReceivablesNetCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccountsAndOtherReceivablesNetCurrent' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves' xlink:label='us-gaap_InventoryFinishedGoodsNetOfReserves'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryFinishedGoodsNetOfReserves' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryWorkInProcess' xlink:label='us-gaap_InventoryWorkInProcess'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryWorkInProcess' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryRawMaterials' xlink:label='us-gaap_InventoryRawMaterials'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryRawMaterials' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InventoryNet' xlink:label='us-gaap_InventoryNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InventoryNet' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillForeignCurrencyTranslationGainLoss' xlink:label='us-gaap_GoodwillForeignCurrencyTranslationGainLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_GoodwillForeignCurrencyTranslationGainLoss' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GoodwillImpairmentLoss' xlink:label='us-gaap_GoodwillImpairmentLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_GoodwillImpairmentLoss' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Goodwill' xlink:label='us-gaap_Goodwill'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Goodwill' use='optional' order='11.0' preferredLabel='http://www.xbrl.org/2003/role/periodEndLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedPatentsGross' xlink:label='us-gaap_FiniteLivedPatentsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedPatentsGross' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedNoncompeteAgreementsGross' xlink:label='us-gaap_FiniteLivedNoncompeteAgreementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedNoncompeteAgreementsGross' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedTrademarksGross' xlink:label='us-gaap_FiniteLivedTrademarksGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedTrademarksGross' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedCustomerRelationshipsGross' xlink:label='us-gaap_FiniteLivedCustomerRelationshipsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedCustomerRelationshipsGross' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherFiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_OtherFiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherFiniteLivedIntangibleAssetsGross' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='17.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' xlink:label='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' use='optional' order='18.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsGross' xlink:label='us-gaap_FiniteLivedIntangibleAssetsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsGross' use='optional' order='19.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' xlink:label='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization' use='optional' order='20.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FiniteLivedIntangibleAssetsNet' xlink:label='us-gaap_FiniteLivedIntangibleAssetsNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_FiniteLivedIntangibleAssetsNet' use='optional' order='21.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AccruedIncomeTaxesPayableReceivable' xlink:label='fil_AccruedIncomeTaxesPayableReceivable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_AccruedIncomeTaxesPayableReceivable' use='optional' order='22.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeRelatedLiabilitiesCurrent' xlink:label='us-gaap_EmployeeRelatedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeRelatedLiabilitiesCurrent' use='optional' order='23.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LitigationReserveCurrent' xlink:label='us-gaap_LitigationReserveCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LitigationReserveCurrent' use='optional' order='24.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherAccruedLiabilitiesCurrent' xlink:label='us-gaap_OtherAccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OtherAccruedLiabilitiesCurrent' use='optional' order='25.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccruedLiabilitiesCurrent' xlink:label='us-gaap_AccruedLiabilitiesCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccruedLiabilitiesCurrent' use='optional' order='26.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_GrossProfit' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_AllCountriesDomain' xlink:label='country_AllCountriesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='country_AllCountriesDomain' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_USAndCanadaMember' xlink:label='fil_USAndCanadaMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_USAndCanadaMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EnglandAndAustraliaMember' xlink:label='fil_EnglandAndAustraliaMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_EnglandAndAustraliaMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.sec.gov/country/2024/country-2024.xsd#country_IE' xlink:label='country_IE'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='country_IE' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_Land' xlink:label='us-gaap_Land'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_Land' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_BuildingsAndImprovementsGross' xlink:label='us-gaap_BuildingsAndImprovementsGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_BuildingsAndImprovementsGross' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_MachineryAndEquipmentGross' xlink:label='us-gaap_MachineryAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_MachineryAndEquipmentGross' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ConstructionInProgressGross' xlink:label='us-gaap_ConstructionInProgressGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ConstructionInProgressGross' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentGross' xlink:label='us-gaap_PropertyPlantAndEquipmentGross'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentGross' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' xlink:label='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_PropertyPlantAndEquipmentNet' xlink:label='us-gaap_PropertyPlantAndEquipmentNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_PropertyPlantAndEquipmentNet' use='optional' order='7.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote5LongTermDebtDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LongTermDebt' xlink:label='us-gaap_LongTermDebt'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LongTermDebt' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote6CommitmentsAndContingenciesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LitigationExpense' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProductWarrantyAccrual' xlink:label='us-gaap_ProductWarrantyAccrual'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProductWarrantyAccrual' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsInventory' xlink:label='us-gaap_DeferredTaxAssetsInventory'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsInventory' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' xlink:label='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredTaxLiabilitiesDepreciationAndAmortization' xlink:label='fil_DeferredTaxLiabilitiesDepreciationAndAmortization'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DeferredTaxLiabilities' xlink:label='us-gaap_DeferredTaxLiabilities'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DeferredTaxLiabilities' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedTotalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_CurrentIncomeTaxExpenseBenefit' xlink:label='us-gaap_CurrentIncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_CurrentIncomeTaxExpenseBenefit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DeferredIncomeTaxExpense' xlink:label='fil_DeferredIncomeTaxExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_DeferredIncomeTaxExpense' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' xlink:label='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' xlink:label='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' xlink:label='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationTaxCreditsResearch' xlink:label='us-gaap_IncomeTaxReconciliationTaxCreditsResearch'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationTaxCreditsResearch' use='optional' order='4.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_InterestIncomeSecuritiesTaxExempt' xlink:label='us-gaap_InterestIncomeSecuritiesTaxExempt'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_InterestIncomeSecuritiesTaxExempt' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_AdjustmentToDeferredTaxLiability' xlink:label='fil_AdjustmentToDeferredTaxLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_AdjustmentToDeferredTaxLiability' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxReconciliationOtherAdjustments' xlink:label='us-gaap_IncomeTaxReconciliationOtherAdjustments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxReconciliationOtherAdjustments' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/totalLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AllocatedShareBasedCompensationExpense' xlink:label='us-gaap_AllocatedShareBasedCompensationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_AllocatedShareBasedCompensationExpense' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' xlink:label='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' xlink:label='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' use='optional' order='10.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeAxis' xlink:label='srt_RangeAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_RangeAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_RangeMember' xlink:label='srt_RangeMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_RangeMember' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MinimumMember' xlink:label='srt_MinimumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MinimumMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_MaximumMember' xlink:label='srt_MaximumMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_RangeAxis' xlink:to='srt_MaximumMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice' use='optional' order='10.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' xlink:label='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range1Member' xlink:label='fil_Range1Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range1Member' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range2Member' xlink:label='fil_Range2Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range2Member' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range3Member' xlink:label='fil_Range3Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range3Member' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_Range4Member' xlink:label='fil_Range4Member'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_Range4Member' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_WeightedAverageRemainingContractualLifeYears' xlink:label='fil_WeightedAverageRemainingContractualLifeYears'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_WeightedAverageRemainingContractualLifeYears' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' xlink:label='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' xlink:label='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' xlink:label='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue' use='optional' order='9.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesInTheUnitedStates' xlink:label='fil_CompanySalesInTheUnitedStates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesInTheUnitedStates' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesInEurope' xlink:label='fil_CompanySalesInEurope'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesInEurope' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CompanySalesOther' xlink:label='fil_CompanySalesOther'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_CompanySalesOther' use='optional' order='3.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInTheUnitedStates' xlink:label='fil_LongLivedAssetsInTheUnitedStates'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInTheUnitedStates' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInEngland' xlink:label='fil_LongLivedAssetsInEngland'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInEngland' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInIreland' xlink:label='fil_LongLivedAssetsInIreland'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInIreland' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInAustralia' xlink:label='fil_LongLivedAssetsInAustralia'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInAustralia' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LongLivedAssetsInCanada' xlink:label='fil_LongLivedAssetsInCanada'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LongLivedAssetsInCanada' use='optional' order='5.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GlobalMember' xlink:label='fil_GlobalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_GlobalMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_ObstetricsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NeonatalMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_BloodPressureMonitoringAndAccessoriesMember' xlink:label='fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_BloodPressureMonitoringAndAccessoriesMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementGeographicalAxis' xlink:label='srt_StatementGeographicalAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementGeographicalAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_SegmentGeographicalDomain' xlink:label='srt_SegmentGeographicalDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='srt_SegmentGeographicalDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OusMember' xlink:label='fil_OusMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementGeographicalAxis' xlink:to='fil_OusMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductOrServiceAxis' xlink:label='srt_ProductOrServiceAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_ProductOrServiceAxis' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ProductsAndServicesDomain' xlink:label='srt_ProductsAndServicesDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='srt_ProductsAndServicesDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_ObstetricsMember' xlink:label='fil_ObstetricsMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_ObstetricsMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GynecologyElectrosurgeryUrologyMember' xlink:label='fil_GynecologyElectrosurgeryUrologyMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_GynecologyElectrosurgeryUrologyMember' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_NeonatalMember' xlink:label='fil_NeonatalMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_NeonatalMember' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_BloodPressureMonitoringAndAccessoriesMember' xlink:label='fil_BloodPressureMonitoringAndAccessoriesMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_ProductOrServiceAxis' xlink:to='fil_BloodPressureMonitoringAndAccessoriesMember' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RoyaltyIncomeNonoperating' xlink:label='us-gaap_RoyaltyIncomeNonoperating'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_RoyaltyIncomeNonoperating' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ContractualObligation' xlink:label='us-gaap_ContractualObligation'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ContractualObligation' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote13EmployeeBenefitPlansDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' xlink:label='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount' use='optional' order='1.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForParkingLotTermOfContract' xlink:label='fil_LesseeOperatingLeaseForParkingLotTermOfContract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForParkingLotTermOfContract' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForAutomobileTermOfContract' xlink:label='fil_LesseeOperatingLeaseForAutomobileTermOfContract'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForAutomobileTermOfContract' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' xlink:label='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseCost' xlink:label='us-gaap_OperatingLeaseCost'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseCost' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseRightOfUseAsset' xlink:label='us-gaap_OperatingLeaseRightOfUseAsset'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseRightOfUseAsset' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityCurrent' xlink:label='us-gaap_OperatingLeaseLiabilityCurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityCurrent' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent' xlink:label='us-gaap_OperatingLeaseLiabilityNoncurrent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiabilityNoncurrent' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiability' use='optional' order='4.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' xlink:label='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount' use='optional' order='8.0' preferredLabel='http://www.xbrl.org/2009/role/negatedLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseLiability' xlink:label='us-gaap_OperatingLeaseLiability'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseLiability' use='optional' order='9.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' xlink:label='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' xlink:label='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent' use='optional' order='11.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionAxis' xlink:label='fil_DistributionRightsAcquisitionAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='fil_DistributionRightsAcquisitionAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_DistributionRightsAcquisitionDomain' xlink:label='fil_DistributionRightsAcquisitionDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_DistributionRightsAcquisitionDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_CoopersurgicalIncMember' xlink:label='fil_CoopersurgicalIncMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='fil_DistributionRightsAcquisitionAxis' xlink:to='fil_CoopersurgicalIncMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_FinitelivedIntangibleAssetsAcquired1' xlink:label='us-gaap_FinitelivedIntangibleAssetsAcquired1'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_FinitelivedIntangibleAssetsAcquired1' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' xlink:label='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' use='optional' order='2.0'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_ProfitLoss' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' xlink:label='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfSharesOutstandingBasic' use='optional' order='2.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' xlink:label='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment' use='optional' order='3.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' xlink:label='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareBasic' xlink:label='us-gaap_EarningsPerShareBasic'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareBasic' use='optional' order='5.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_EarningsPerShareDiluted' xlink:label='us-gaap_EarningsPerShareDiluted'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_EarningsPerShareDiluted' use='optional' order='6.0' preferredLabel='http://www.xbrl.org/2003/role/verboseLabel'/>
	</link:presentationLink>
	<link:roleRef roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails" xlink:type="simple" xlink:href="utmd-20241231.xsd#idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"/>
	<link:presentationLink xlink:type="extended" xlink:role="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails">
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_TextBlockAbstract' xlink:label='us-gaap_TextBlockAbstract'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementTable' xlink:label='us-gaap_StatementTable'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_TextBlockAbstract' xlink:to='us-gaap_StatementTable' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_StatementScenarioAxis' xlink:label='srt_StatementScenarioAxis'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='srt_StatementScenarioAxis' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd#srt_ScenarioUnspecifiedDomain' xlink:label='srt_ScenarioUnspecifiedDomain'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='srt_ScenarioUnspecifiedDomain' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_SingleOperatingSegmentMember' xlink:label='fil_SingleOperatingSegmentMember'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='srt_StatementScenarioAxis' xlink:to='fil_SingleOperatingSegmentMember' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_StatementLineItems' xlink:label='us-gaap_StatementLineItems'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementTable' xlink:to='us-gaap_StatementLineItems' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' xlink:label='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax' use='optional' order='1.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_StandardCostOfSales' xlink:label='fil_StandardCostOfSales'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_StandardCostOfSales' use='optional' order='2.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OtherCostOfSales' xlink:label='fil_OtherCostOfSales'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_OtherCostOfSales' use='optional' order='3.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_GrossProfit' xlink:label='us-gaap_GrossProfit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_GrossProfit' use='optional' order='4.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_GrossProfitMargin' xlink:label='fil_GrossProfitMargin'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_GrossProfitMargin' use='optional' order='5.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_SellingAndMarketingExpense' xlink:label='us-gaap_SellingAndMarketingExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_SellingAndMarketingExpense' use='optional' order='6.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ResearchAndDevelopmentExpense' xlink:label='us-gaap_ResearchAndDevelopmentExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ResearchAndDevelopmentExpense' use='optional' order='7.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_LitigationExpense' xlink:label='fil_LitigationExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_LitigationExpense' use='optional' order='8.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_AmortizationOfIntangibleAssets' xlink:label='us-gaap_AmortizationOfIntangibleAssets'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_AmortizationOfIntangibleAssets' use='optional' order='9.0' preferredLabel='http://www.xbrl.org/2003/role/terseLabel'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherSellingGeneralAndAdministrativeExpense' xlink:label='us-gaap_OtherSellingGeneralAndAdministrativeExpense'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherSellingGeneralAndAdministrativeExpense' use='optional' order='10.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OperatingIncomeLoss' xlink:label='us-gaap_OperatingIncomeLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OperatingIncomeLoss' use='optional' order='11.0'/>
		<link:loc xlink:type='locator' xlink:href='utmd-20241231.xsd#fil_OperatingIncomeMargin' xlink:label='fil_OperatingIncomeMargin'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='fil_OperatingIncomeMargin' use='optional' order='12.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherInterestAndDividendIncome' xlink:label='us-gaap_OtherInterestAndDividendIncome'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherInterestAndDividendIncome' use='optional' order='13.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_OtherOperatingIncomeExpenseNet' xlink:label='us-gaap_OtherOperatingIncomeExpenseNet'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_OtherOperatingIncomeExpenseNet' use='optional' order='14.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' xlink:label='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest' use='optional' order='15.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_IncomeTaxExpenseBenefit' xlink:label='us-gaap_IncomeTaxExpenseBenefit'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_IncomeTaxExpenseBenefit' use='optional' order='16.0'/>
		<link:loc xlink:type='locator' xlink:href='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd#us-gaap_ProfitLoss' xlink:label='us-gaap_ProfitLoss'/>
		<link:presentationArc xlink:type='arc' xlink:arcrole='http://www.xbrl.org/2003/arcrole/parent-child' xlink:from='us-gaap_StatementLineItems' xlink:to='us-gaap_ProfitLoss' use='optional' order='17.0'/>
	</link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>16
<FILENAME>utmd-20241231.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT
<TEXT>
<XBRL>
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- Produced by EDGARsuite software, Advanced Computer Innovations, Inc., Copyright (C) 2008-2025 [PPXK5GW761L0VEJTF2ZR]. www.edgarsuite.com -->
<schema attributeFormDefault='unqualified' elementFormDefault='qualified' targetNamespace='http://www.utahmed.com/20241231' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:xbrli='http://www.xbrl.org/2003/instance' xmlns:fil='http://www.utahmed.com/20241231' xmlns:link='http://www.xbrl.org/2003/linkbase' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xbrldi='http://xbrl.org/2006/xbrldi' xmlns:xbrldt='http://xbrl.org/2005/xbrldt' xmlns:ecd='http://xbrl.sec.gov/ecd/2024' xmlns:srt='http://fasb.org/srt/2024' xmlns:us-gaap='http://fasb.org/us-gaap/2024' xmlns:country='http://xbrl.sec.gov/country/2024' xmlns:dei='http://xbrl.sec.gov/dei/2024' xmlns:dtr-types='http://www.xbrl.org/dtr/type/2022-03-31'>
	<annotation>
		<appinfo>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20241231_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20241231_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20241231_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:linkbaseRef xlink:type="simple" xlink:href="utmd-20241231_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow" id="idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow">
				<link:definition>000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options" id="idr_DisclosureNote8Options">
				<link:definition>000160 - Disclosure - Note 8 - Options</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure" id="idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure">
				<link:definition>000230 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails">
				<link:definition>000720 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails">
				<link:definition>000860 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies">
				<link:definition>000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies">
				<link:definition>000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies" id="idr_DisclosureNote6CommitmentsAndContingencies">
				<link:definition>000140 - Disclosure - Note 6 - Commitments and Contingencies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails">
				<link:definition>000870 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables">
				<link:definition>000510 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails">
				<link:definition>000700 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails" id="idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails">
				<link:definition>000840 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails">
				<link:definition>000760 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails">
				<link:definition>000780 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables">
				<link:definition>000550 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables">
				<link:definition>000450 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails" id="idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails">
				<link:definition>000880 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails">
				<link:definition>000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails">
				<link:definition>000650 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements" id="idr_DisclosureNote18RecentAccountingPronouncements">
				<link:definition>000260 - Disclosure - Note 18 - Recent Accounting Pronouncements</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies">
				<link:definition>000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies">
				<link:definition>000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables">
				<link:definition>000600 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables" id="idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables">
				<link:definition>000570 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies">
				<link:definition>000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables" id="idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables">
				<link:definition>000610 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical">
				<link:definition>000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical" id="idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical">
				<link:definition>000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies">
				<link:definition>000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment" id="idr_DisclosureNote4PropertyAndEquipment">
				<link:definition>000120 - Disclosure - Note 4 - Property and Equipment</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails">
				<link:definition>000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies">
				<link:definition>000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation" id="idr_DisclosureNote9GeographicInformation">
				<link:definition>000170 - Disclosure - Note 9 - Geographic Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables">
				<link:definition>000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments" id="idr_DisclosureNote12ProductSaleAndPurchaseCommitments">
				<link:definition>000200 - Disclosure - Note 12 - Product Sale and Purchase Commitments</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome">
				<link:definition>000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails">
				<link:definition>000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables">
				<link:definition>000540 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables">
				<link:definition>000490 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPolicies">
				<link:definition>000090 - Disclosure - Note 1 - Summary of Significant Accounting Policies</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails" id="idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails">
				<link:definition>000930 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails" id="idr_DisclosureNote14LeasesDetails">
				<link:definition>000900 - Disclosure - Note 14 - Leases (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails" id="idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails">
				<link:definition>000950 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables">
				<link:definition>000530 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables">
				<link:definition>000620 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails" id="idr_DisclosureNote5LongTermDebtDetails">
				<link:definition>000740 - Disclosure - Note 5 - Long-term Debt (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables">
				<link:definition>000470 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegion">
				<link:definition>000190 - Disclosure - Note 11 - Revenues By Product Category And Region</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents" id="idr_DisclosureNote19SubsequentEvents">
				<link:definition>000270 - Disclosure - Note 19 - Subsequent Events</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets" id="idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets">
				<link:definition>000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails" id="idr_DisclosureNote6CommitmentsAndContingenciesDetails">
				<link:definition>000750 - Disclosure - Note 6 - Commitments and Contingencies (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies" id="idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies">
				<link:definition>000440 - Disclosure - Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes" id="idr_DisclosureNote7IncomeTaxes">
				<link:definition>000150 - Disclosure - Note 7 - Income Taxes</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts">
				<link:definition>000100 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity" id="idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity">
				<link:definition>000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS&apos; EQUITY</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables" id="idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables">
				<link:definition>000580 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails" id="idr_DisclosureNote8OptionsDetails">
				<link:definition>000800 - Disclosure - Note 8 - Options (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt" id="idr_DisclosureNote5LongTermDebt">
				<link:definition>000130 - Disclosure - Note 5 - Long-term Debt</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies">
				<link:definition>000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails" id="idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails">
				<link:definition>000920 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables" id="idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables">
				<link:definition>000590 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails" id="idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails">
				<link:definition>000910 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies">
				<link:definition>000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables">
				<link:definition>000500 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables" id="idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables">
				<link:definition>000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation" id="idr_DocumentDocumentAndEntityInformation">
				<link:definition>000010 - Document - Document and Entity Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans" id="idr_DisclosureNote13EmployeeBenefitPlans">
				<link:definition>000210 - Disclosure - Note 13 - Employee Benefit Plans</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation" id="idr_DisclosureNote10GeographicLongLivedAssetsInformation">
				<link:definition>000180 - Disclosure - Note 10 - Geographic Long-Lived Assets Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies">
				<link:definition>000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails" id="idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails">
				<link:definition>000940 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables" id="idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables">
				<link:definition>000520 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies">
				<link:definition>000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails" id="idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails">
				<link:definition>000850 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies">
				<link:definition>000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails">
				<link:definition>000810 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies">
				<link:definition>000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables" id="idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables">
				<link:definition>000640 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables" id="idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables">
				<link:definition>000630 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies">
				<link:definition>000420 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual" id="idr_StatementTradingArrangementsByIndividual">
				<link:definition>000080 - Statement - Trading Arrangements, by Individual</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails">
				<link:definition>000790 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails">
				<link:definition>000710 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails">
				<link:definition>000830 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails">
				<link:definition>000730 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies">
				<link:definition>000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails" id="idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails">
				<link:definition>000770 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies">
				<link:definition>000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare" id="idr_DisclosureNote16EarningsPerShare">
				<link:definition>000240 - Disclosure - Note 16 - Earnings Per Share</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases" id="idr_DisclosureNote14Leases">
				<link:definition>000220 - Disclosure - Note 14 - Leases</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited" id="idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited">
				<link:definition>000110 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails" id="idr_DisclosureNote13EmployeeBenefitPlansDetails">
				<link:definition>000890 - Disclosure - Note 13 - Employee Benefit Plans (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation" id="idr_DisclosureNote17SegmentInformation">
				<link:definition>000250 - Disclosure - Note 17 - Segment Information</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails" id="idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails">
				<link:definition>000820 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails" id="idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails">
				<link:definition>000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
			<link:roleType roleURI="http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables" id="idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables">
				<link:definition>000480 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</link:definition>
				<link:usedOn>link:presentationLink</link:usedOn>
				<link:usedOn>link:definitionLink</link:usedOn>
				<link:usedOn>link:calculationLink</link:usedOn>
			</link:roleType>
		</appinfo>
	</annotation>
	<import schemaLocation='https://www.xbrl.org/dtr/type/2022-03-31/types.xsd' namespace='http://www.xbrl.org/dtr/type/2022-03-31'/>
	<import schemaLocation='http://www.xbrl.org/2005/xbrldt-2005.xsd' namespace='http://xbrl.org/2005/xbrldt'/>
	<import schemaLocation='http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd' namespace='http://www.xbrl.org/2003/instance'/>
	<import schemaLocation='https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd' namespace='http://xbrl.sec.gov/ecd/2024'/>
	<import schemaLocation='https://xbrl.sec.gov/country/2024/country-2024.xsd' namespace='http://xbrl.sec.gov/country/2024'/>
	<import schemaLocation='https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd' namespace='http://fasb.org/srt/2024'/>
	<import schemaLocation='https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd' namespace='http://fasb.org/us-gaap/2024'/>
	<import schemaLocation='https://xbrl.sec.gov/dei/2024/dei-2024.xsd' namespace='http://xbrl.sec.gov/dei/2024'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ObstetricsMember' name='ObstetricsMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_NeonatalMember' name='NeonatalMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GynecologyElectrosurgeryUrologyMember' name='GynecologyElectrosurgeryUrologyMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_BloodPressureMonitoringAndAccessoriesMember' name='BloodPressureMonitoringAndAccessoriesMember'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock' name='ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LesseeOperatingLeaseForParkingLotTermOfContract' name='LesseeOperatingLeaseForParkingLotTermOfContract'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_LesseeOperatingLeaseForAutomobileTermOfContract' name='LesseeOperatingLeaseForAutomobileTermOfContract'/>
	<element abstract='true' nillable='true' type='xbrli:stringItemType' substitutionGroup='xbrldt:dimensionItem' xbrli:periodType='duration' id='fil_DistributionRightsAcquisitionAxis' name='DistributionRightsAcquisitionAxis'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_DistributionRightsAcquisitionDomain' name='DistributionRightsAcquisitionDomain'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CoopersurgicalIncMember' name='CoopersurgicalIncMember'/>
	<element nillable='true' type='xbrli:decimalItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem' name='RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PresentationOfSalesAndSimilarTaxesTextBlock' name='PresentationOfSalesAndSimilarTaxesTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='credit' id='fil_AccruedIncomeTaxesPayableReceivable' name='AccruedIncomeTaxesPayableReceivable'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_USAndCanadaMember' name='USAndCanadaMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EnglandAndAustraliaMember' name='EnglandAndAustraliaMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range1Member' name='Range1Member'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range2Member' name='Range2Member'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range3Member' name='Range3Member'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_Range4Member' name='Range4Member'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleOfGeographicInformationTextBlock' name='ScheduleOfGeographicInformationTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesInTheUnitedStates' name='CompanySalesInTheUnitedStates'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesInEurope' name='CompanySalesInEurope'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_CompanySalesOther' name='CompanySalesOther'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock' name='ScheduleOfLongLivedAssetsByGeographicAreaTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInTheUnitedStates' name='LongLivedAssetsInTheUnitedStates'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInEngland' name='LongLivedAssetsInEngland'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInIreland' name='LongLivedAssetsInIreland'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInAustralia' name='LongLivedAssetsInAustralia'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_LongLivedAssetsInCanada' name='LongLivedAssetsInCanada'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GlobalMember' name='GlobalMember'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_OusMember' name='OusMember'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_StandardCostOfSales' name='StandardCostOfSales'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_OtherCostOfSales' name='OtherCostOfSales'/>
	<element nillable='true' type='dtr-types:percentItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GrossProfitMargin' name='GrossProfitMargin'/>
	<element nillable='true' type='dtr-types:percentItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_OperatingIncomeMargin' name='OperatingIncomeMargin'/>
	<element abstract='true' nillable='true' type='dtr-types:domainItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_SingleOperatingSegmentMember' name='SingleOperatingSegmentMember'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions' name='CommonStockReceivedAndRetiredUponExerciseOfStockOptions'/>
	<element nillable='true' type='xbrli:sharesItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares' name='CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares'/>
	<element nillable='true' type='xbrli:pureItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD' name='ForeignCurrencyExchangeRateTranslationGBPtoUSD'/>
	<element nillable='true' type='xbrli:pureItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD' name='ForeignCurrencyExchangeRateTranslationAUDtoUSD'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_AccruedInterestAndOther' name='AccruedInterestAndOther'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross' name='FiniteLivedRegulatoryApprovalsAndProductCertificationsGross'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_PropertyPlantAndEquipmentByLocationTextBlock' name='PropertyPlantAndEquipmentByLocationTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_LitigationExpense' name='LitigationExpense'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='credit' id='fil_DeferredTaxLiabilitiesDepreciationAndAmortization' name='DeferredTaxLiabilitiesDepreciationAndAmortization'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_DeferredIncomeTaxExpense' name='DeferredIncomeTaxExpense'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='credit' id='fil_AdjustmentToDeferredTaxLiability' name='AdjustmentToDeferredTaxLiability'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' xbrli:balance='debit' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears'/>
	<element nillable='true' type='xbrli:durationItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition' name='EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition'/>
	<element nillable='true' type='xbrli:decimalItemType' substitutionGroup='xbrli:item' xbrli:periodType='instant' id='fil_WeightedAverageRemainingContractualLifeYears' name='WeightedAverageRemainingContractualLifeYears'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GeographicInformationTextBlock' name='GeographicInformationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_GeographicLongLivedAssetsInformationTextBlock' name='GeographicLongLivedAssetsInformationTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_RevenuesbyproductcategoryandregionTextBlock' name='RevenuesbyproductcategoryandregionTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock' name='ScheduleofglobalrevenuesbyproductcategoryTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ScheduleofousrevenuesbyproductcategoryTextBlock' name='ScheduleofousrevenuesbyproductcategoryTextBlock'/>
	<element nillable='true' type='dtr-types:textBlockItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' id='fil_ProductSaleAndPurchaseCommitmentsTextBlock' name='ProductSaleAndPurchaseCommitmentsTextBlock'/>
	<element nillable='true' type='xbrli:monetaryItemType' substitutionGroup='xbrli:item' xbrli:periodType='duration' xbrli:balance='debit' id='fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI' name='LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI'/>
</schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>17
<FILENAME>utmdex23z2_1.jpg
<DESCRIPTION>IMAGE
<TEXT>
begin 644 utmdex23z2_1.jpg
M_]C_X  02D9)1@ ! 0$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" !> @T# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#]_**** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBD,B*<,X_.@!:* P894T4 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%-DE14)WBJUEJEI><P3H<?W7!S0!;HH#*>C44 !('
M4TWSHLX\U?\ OJHKQ&:'8'QN&,U^>'QV_:Y_;L^ _P#P5H^'?PIUI?M'P=^(
MFI0Z/IEEIOA=;JSB^5]]Q=ZD!%):79=<);XFC= 3D'( !^BP(/0T5#;D'! Z
MBIJ "BBB@ HHS36DC7EG4?4T .HIHD1ONNI_&G9H **** "BBB@ HHHH ***
M* "BBB@ HHI"P'>@!'8*I)-?EG_P5^_X+7>/?V/?VQ_A_P#LD_LS:5IOBKQ)
MJ5Y:S^+-(5#<7!6:YB2#3HQ&K$2R1-,Y7Y9%WVS?=D(/U%_P5N_X*2^#_P#@
MF9^R9J7QV\1Z>UUJ5]J4&B>%+%;"6Y-UJ5P2?]5&R>8(K=+BY*--;K(+?RA-
M%)*AK\W_ /@VT_X)[>-OBO\ %'7/^"F'[1W@75UN-4U&6Y\.ZEXZL;E=;UK4
M[FWA>ZUGS9 B?9&,DK0(B,K/<OF20V<,K '[@:([&P1F7#'[U7!4=M L$2QJ
M.*DH **** "BBB@ HHHH **** "BBB@ HHHH *,T4C' S_.@!:*HW6N6EK.M
MNTZ[FYVLV.!U/ZC\ZN12"6,2*P.X9&* '4444 %%%% !112,?>@!<T9KF?'W
MQ:^'?PNL(M5^)GCC1_#]G<7D5I;WFMZG#:12SR-MCB5YF56=VX50<L> #706
M5REU%YT9^4]* )J**,CIF@ HHSGI10 4444 %%%% !1110 4V1L1L13LXY-<
M1\?OCCX#_9W^%'B#XP_$C78-/T7P[I<VH:E=3'Y8H(E+,Q_#\Z /GK_@J_\
M\%+?A_\ \$^/@'=:_?ZY OC+7(9+;P1HSVDT[WEUMR9"D/S>6@Y8]!QZG'Q/
M_P &K?C#XZ?&[5?CS\;_ (A?&+7=:TW5/%D2OINK:VU]G49 9Y+N-V&$!C=(
MRBD@;,9XK\Q/^"B/_!0OP9^V5^V#XL^+OQ9\8:EK6B7&BSVWP]TW0;5P((UN
M&CMMA+X,3D>8^ C2/&,G;MS^[O\ P;P_LXW/P&_X)P>#-6UVVF77/&0FU_6F
MN8]DV^=SL210 H=4 !VCJ>I/- 'W=$C(BJ>W]ZI&8*,L:"<=::[IMSN% %?5
M;NVM+-[FXF5$C4EG9L #US7Y'_"<)_P46_X."Y?BC?7%IJ'@K]G_ ,,W,.@V
MAWQW5IJ+OY?F$>3',A:1MX61GB=,-&[#('M7_!=/_@H+K/[/_P );7]F/]GS
MXGZ;H_QD^)4+P>"TOK<7"J%GCA<>7ALR2-((TW*5'S.05C85[-_P27_9 U3]
MDG]D?PWX=\;>%]%L?'FOV,&K_$2^T?28K/[7JLB9821QHJJT:%(]J*$!1L#D
MD@'U):Q^7&J <*H _*IJ0<XX-+0 444$@=30 C''6O&OVZ/VR_@K^P?^SUK/
M[2/Q\\4_V;H.C1XC@A4-<:E=D,8;.W4D;YI"I"KD <L2JJ2/2/B+\0O"/PR\
M':EXY\;^)+/2=)TJU>YU'4KZ4+%;1*I+2,3V&/QZ=:_!WXO^-/VBO^#AC]N+
MPU\-O"^I^)O!_P .?AWXLMM0U+1;ZQB_LN'3!+YBWT[.'2>]N8MBPPNC&+,F
MY G+@'Z6_P#!$W_@J)XC_P""K?[.'B+]H/7?@RO@J/2?'EUH%G9KJ[7GVN&.
MVM;A+@,T4>,BY\L@;ANB8AN<#[13/2O/OV>_@3\+OV<OA5H7PB^#?@JS\-^'
M=#LU@T_1[%0L<"]>0/O.22S.>78LQ))-=\DT29W24 2T4U9HF.U7!IP(/2@
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
M7MX_L\"1.)4WVS.6EMS(6DF !^H-Q_P:L?#WQAX?^'FO^'/BG8Z/-86>F_\
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
MBQ^[7\*L44  &!@"@@'J*** &^6G]VE"*#D"EHH **** &F,8X%"Q@=J=10
MTH#_  TH&.U+10 ,,C&*:(U!SBG44 )MP?E6EHHH **** "BBB@ IKQHYR5I
MU% #2I(P!7 Q?LV_"2+XRM^T&OP^TD>,CI;:;_PD2VP%T;0L&,._^[D#\J]
MHH 1!M7%+110 8&,8IGE8.<=.:?10 A12,8J)K?=P0"*FHH A^S8;<%7WJ3R
MU*]*=10 T1(!PM'E@C!%.HH :$ Y Q2E01S2T4 ,,??%1I90*_F"!03U]:GH
MH  ,=J*** "FLFX\BG44 ,6)<\I2E%QC;3J* &)$!P5X["GT44 %%%% !111
80 4444 %%%% !1110 4444 %%%% '__9

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>18
<FILENAME>utmd10k_1.jpg
<DESCRIPTION>IMAGE
<TEXT>
begin 644 utmd10k_1.jpg
M_]C_X  02D9)1@ ! 0$ W #<  #_VP!#  (! 0$! 0(! 0$" @(" @0# @("
M @4$! ,$!@4&!@8%!@8&!PD(!@<)!P8&" L("0H*"@H*!@@+# L*# D*"@K_
MVP!# 0(" @(" @4# P4*!P8'"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*"@H*"@K_P  1" !E C(# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
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
M=/U"#3OAG?S3N]]X@96F>YO9595$*;'M8Q" QCECN%9B1A0#[ F<!<U\I?\
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
M#WQ^H/\ P2Y_X)B_!W_@G#\$%\&^"]/CNO$6HJC>*/$7V?RVU.9%VJ^W)V*
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
MMWHW_!.[PG'\+/V?-1T_6OBMJCYDM6A%U%HEMMW&:X0.N&(^ZF<]SQ7!VO\
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
MK5YIJ/*(9&A8JV1\^&MXBI;)7;QBO4J/?% 'YT_\%!_^"!OPN_X* ?MG:/\
MM.^._BQX@TW2[?PO;:)XB\-Z>RH+V"VO6O8?+DQE=\LC!\YP I7#<U]F?L^_
MLQ_"/]F?X<V/PO\ @QX%LM!T73[98;6SLXP-V% ,CMU=VP"6/)->D%:=0!\T
M_M ?\$I/V$_VG-?A\7?&;]F[P[J6L02;XM8CM?)N5;=N)WQX/)P2>I(&:Y7P
M#_P0Z_X)H?#SQ+_PE^B?LJ:#<:DLBR0WU_OFDA923E"QXZ\^HX/%?8 '&**
M/GWPY_P3/_8Q\(ZWXRUW0?@#X?CD^(%N(/%T;6>Y=0BYRC G&UB26 X)Z]!7
MJ7P:^"/PR^ GPYTWX5?"/P+IOAWP_I-NL.GZ/I-JL-O;J.RJ/_UGO788'7%%
M %&_TI;FU>W$:,)%*LKKE6!Z@CO7R'JW_!"+_@F-K?CZ;XE7'[+FCPZC/J3Z
MA<1V;M#;S7#DEF:)2%P22=N,9)P!7V510!^</_!/'_@D9\7?^"?'_!0;XH?%
M#X?>---N/@]XYTU#I?A^:29KS3YD?<D*Y.P1Q@LH/)*X  QS^C44850 OUIV
MTYP13J "@]*** *NIZ=#JEFUG=1"2-U(9&'# CH?:OF$?\$;_P#@G&+V;6;S
M]C_P;=WUQ>2W$MU>::)'W2%M^#V!W-P!QDU]444 ?&/BG_@@S_P2Y\7PC3+O
M]DSP]:V*Y*V-@)(H58@ MM#=3M&?H*ATG_@@7_P2YT:UM](M_P!ES2I+.%F_
MT&:>1H9$,L<I1@3\REXHB1WV"OM3%!&: . ^$G[-WP;^!_@BS^&WPJ^&>C>'
MM!L8U2UTO2K".*),*$'"CDA0!D\]/2NRCT>SAA,$4&U6SNX[^M7:* *MGIT-
MKQ&F/7Y:M8'I110 'GBHI+='<2%/F'0U+10!7:S1@<CK[4JV42_*$Z5/10!7
M>QC888=.E/A@$9X&.]2T4 %%%% !1110 4444 %%%% !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
L4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '_]D!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - USD ($)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Mar. 25, 2025</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">UTAH MEDICAL PRODUCTS INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000706698<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-K<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Dec. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">UTMD<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">87-0342734<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,281,816<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityPublicFloat', window );">Public Float</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 216,013,098<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityVoluntaryFilers', window );">Voluntary filer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityWellKnownSeasonedIssuer', window );">Well-known Seasoned Issuer</a></td>
<td class="text">No<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentAnnualReport', window );">Document Annual Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Securities Act File Number</a></td>
<td class="text">001-12575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">7043 South 300 West<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Midvale<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">UT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">84047<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">801<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">566-1200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, $0.01 par value<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_IcfrAuditorAttestationFlag', window );">ICFR Auditor Attestation Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFinStmtErrorCorrectionFlag', window );">Document Financial Statement Error Correction</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">FY<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorName', window );">Auditor Name</a></td>
<td class="text">Haynie &amp; Company<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorLocation', window );">Auditor Location</a></td>
<td class="text">Salt Lake City, Utah<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AuditorFirmId', window );">Auditor Firm ID</a></td>
<td class="text">457<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorFirmId">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>PCAOB issued Audit Firm Identifier</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorFirmId</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:nonemptySequenceNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorLocation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorLocation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AuditorName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AuditorName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:internationalNameItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentAnnualReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an annual report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentAnnualReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFinStmtErrorCorrectionFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates whether any of the financial statement period in the filing include a restatement due to error correction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 402<br> -Subsection w<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFinStmtErrorCorrectionFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityPublicFloat">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityPublicFloat</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityVoluntaryFilers">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityVoluntaryFilers</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityWellKnownSeasonedIssuer">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Securities Act<br> -Number 230<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityWellKnownSeasonedIssuer</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_IcfrAuditorAttestationFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-K<br> -Number 249<br> -Section 310<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 20-F<br> -Number 249<br> -Section 220<br> -Subsection f<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 40-F<br> -Number 249<br> -Section 240<br> -Subsection f<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_IcfrAuditorAttestationFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsAbstract', window );"><strong>ASSETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">$ 9,763<span></span>
</td>
<td class="nump">$ 10,551<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">13,580<span></span>
</td>
<td class="nump">13,692<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Other intangible assets (note 2)</a></td>
<td class="nump">53,772<span></span>
</td>
<td class="nump">54,296<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Other intangible assets - accumulated amortization</a></td>
<td class="num">(50,907)<span></span>
</td>
<td class="num">(49,350)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Other intangible assets - net (note 2)</a></td>
<td class="nump">2,865<span></span>
</td>
<td class="nump">4,946<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">122,538<span></span>
</td>
<td class="nump">135,458<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash</a></td>
<td class="nump">82,976<span></span>
</td>
<td class="nump">92,868<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts and other receivables, net (note 2)</a></td>
<td class="nump">4,094<span></span>
</td>
<td class="nump">3,391<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories (note 2)</a></td>
<td class="nump">8,812<span></span>
</td>
<td class="nump">9,582<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Prepaid expenses and other current assets</a></td>
<td class="nump">448<span></span>
</td>
<td class="nump">428<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">96,330<span></span>
</td>
<td class="nump">106,269<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquityAbstract', window );"><strong>LIABILITIES AND STOCKHOLDERS' EQUITY</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtAndCapitalLeaseObligations', window );">Long term lease liability</a></td>
<td class="nump">282<span></span>
</td>
<td class="nump">295<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Long term income tax payable (REPAT tax) (note 7)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">698<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets', window );">Deferred tax liability - intangible assets</a></td>
<td class="nump">603<span></span>
</td>
<td class="nump">1,120<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred income taxes (note 7)</a></td>
<td class="nump">469<span></span>
</td>
<td class="nump">322<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (notes 6 and 12)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">696<span></span>
</td>
<td class="nump">769<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses (note 2)</a></td>
<td class="nump">3,061<span></span>
</td>
<td class="nump">3,941<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">3,757<span></span>
</td>
<td class="nump">4,710<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">5,111<span></span>
</td>
<td class="nump">7,145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Stockholders' equity</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $.01 par value; 50,000 shares authorized, issued 3,335 shares in 2024 and 3,630 shares in 2023</a></td>
<td class="nump">33<span></span>
</td>
<td class="nump">36<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1', window );">Accumulated other comprehensive loss</a></td>
<td class="num">(11,908)<span></span>
</td>
<td class="num">(10,658)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">594<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">129,302<span></span>
</td>
<td class="nump">138,341<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total stockholders' equity</a></td>
<td class="nump">117,427<span></span>
</td>
<td class="nump">128,313<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and stockholders' equity</a></td>
<td class="nump">$ 122,538<span></span>
</td>
<td class="nump">$ 135,458<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 12: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 30: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset recognized for present right to economic benefit, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxLiabilitiesNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(15)(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxLiabilitiesNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 28: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 29: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(21))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-5<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtAndCapitalLeaseObligations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of long-term debt and lease obligation, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtAndCapitalLeaseObligations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical - $ / shares<br> shares in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfFinancialPositionAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common Stock, Par or Stated Value Per Share</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common Stock, Shares Authorized</a></td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common Stock, Shares, Issued</a></td>
<td class="nump">3,335<span></span>
</td>
<td class="nump">3,630<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common Stock, Shares, Outstanding</a></td>
<td class="nump">3,335<span></span>
</td>
<td class="nump">3,630<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfFinancialPositionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfFinancialPositionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 40,903<span></span>
</td>
<td class="nump">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfGoodsAndServicesSold', window );">Cost of goods sold</a></td>
<td class="nump">16,760<span></span>
</td>
<td class="nump">20,186<span></span>
</td>
<td class="nump">20,085<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">24,143<span></span>
</td>
<td class="nump">30,038<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expense</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="nump">1,901<span></span>
</td>
<td class="nump">1,685<span></span>
</td>
<td class="nump">1,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="nump">813<span></span>
</td>
<td class="nump">560<span></span>
</td>
<td class="nump">493<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">7,835<span></span>
</td>
<td class="nump">11,016<span></span>
</td>
<td class="nump">10,406<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="nump">13,594<span></span>
</td>
<td class="nump">16,777<span></span>
</td>
<td class="nump">19,790<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherIncomeAndExpensesAbstract', window );"><strong>Other income (expense)</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInterestAndDividendIncome', window );">Dividend and interest income</a></td>
<td class="nump">3,367<span></span>
</td>
<td class="nump">3,036<span></span>
</td>
<td class="nump">661<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income (note 12)</a></td>
<td class="nump">15<span></span>
</td>
<td class="nump">20<span></span>
</td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="num">(174)<span></span>
</td>
<td class="nump">256<span></span>
</td>
<td class="nump">188<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">16,802<span></span>
</td>
<td class="nump">20,089<span></span>
</td>
<td class="nump">20,659<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">2,928<span></span>
</td>
<td class="nump">3,454<span></span>
</td>
<td class="nump">4,186<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 13,874<span></span>
</td>
<td class="nump">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per common share (basic) (note 1)</a></td>
<td class="nump">$ 3.96<span></span>
</td>
<td class="nump">$ 4.58<span></span>
</td>
<td class="nump">$ 4.53<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per common share (diluted)</a></td>
<td class="nump">$ 3.96<span></span>
</td>
<td class="nump">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation net of taxes of $0 in all periods</a></td>
<td class="num">$ (1,249)<span></span>
</td>
<td class="nump">$ 1,381<span></span>
</td>
<td class="num">$ (2,986)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Total comprehensive income</a></td>
<td class="nump">$ 12,625<span></span>
</td>
<td class="nump">$ 18,016<span></span>
</td>
<td class="nump">$ 13,487<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfGoodsAndServicesSold">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfGoodsAndServicesSold</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherIncomeAndExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherIncomeAndExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInterestAndDividendIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInterestAndDividendIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RoyaltyIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical - USD ($)<br></strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax', window );">Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481956/830-20-45-5<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-21<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock</div></th>
<th class="th"><div>Additional Paid-in Capital</div></th>
<th class="th"><div>Comprehensive Income</div></th>
<th class="th"><div>Retained Earnings</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2021</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">$ 842<span></span>
</td>
<td class="num">$ (9,053)<span></span>
</td>
<td class="nump">$ 115,314<span></span>
</td>
<td class="nump">$ 107,138<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2021</a></td>
<td class="nump">3,655<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">211<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">211<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">4<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions', window );">Common stock received and retired upon exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(37)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(37)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares', window );">Common stock received and retired upon exercise of stock options, shares</a></td>
<td class="num">(1)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">183<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">(947)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,548)<span></span>
</td>
<td class="num">(2,495)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Common stock purchased and retired, shares</a></td>
<td class="num">(30)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,986)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,986)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,233)<span></span>
</td>
<td class="num">(4,233)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">16,473<span></span>
</td>
<td class="nump">16,473<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2022</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">252<span></span>
</td>
<td class="num">(12,039)<span></span>
</td>
<td class="nump">126,006<span></span>
</td>
<td class="nump">114,255<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2022</a></td>
<td class="nump">3,628<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">117<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">117<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions', window );">Common stock received and retired upon exercise of stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">225<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">225<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,381<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,300)<span></span>
</td>
<td class="num">(4,300)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">16,635<span></span>
</td>
<td class="nump">16,635<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2023</a></td>
<td class="nump">$ 36<span></span>
</td>
<td class="nump">594<span></span>
</td>
<td class="num">(10,658)<span></span>
</td>
<td class="nump">138,341<span></span>
</td>
<td class="nump">128,313<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2023</a></td>
<td class="nump">3,630<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">390<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">390<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Common stock issued upon exercise of employee stock options, shares</a></td>
<td class="nump">8<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockOptionPlanExpense', window );">Stock option compensation expense</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">256<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">256<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue', window );">Common stock purchased and retired</a></td>
<td class="num">$ (3)<span></span>
</td>
<td class="num">(1,239)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(18,726)<span></span>
</td>
<td class="num">(19,968)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares', window );">Common stock purchased and retired, shares</a></td>
<td class="num">(302)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,249)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(1,249)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DividendsCommonStockCash', window );">Common stock dividends</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(4,189)<span></span>
</td>
<td class="num">(4,189)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">13,874<span></span>
</td>
<td class="nump">13,874<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest', window );">Equity Balance, value at Dec. 31, 2024</a></td>
<td class="nump">$ 33<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (11,907)<span></span>
</td>
<td class="nump">$ 129,302<span></span>
</td>
<td class="nump">$ 117,428<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesOutstanding', window );">Equity Balance, shares at Dec. 31, 2024</a></td>
<td class="nump">3,335<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DividendsCommonStockCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DividendsCommonStockCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares issued which are neither cancelled nor held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock issued as a result of the exercise of stock options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockOptionPlanExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockOptionPlanExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares that have been repurchased and retired during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockRepurchasedAndRetiredDuringPeriodValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockRepurchasedAndRetiredDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (a)(3)(iii)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (c)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479832/842-10-65-8<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-24<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-23<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483421/250-10-45-5<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 5<br> -Subparagraph (c)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-5<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (h)(1)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-6<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 8<br> -Subparagraph (d)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482615/740-10-65-8<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-5<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481674/830-30-50-1<br><br>Reference 32: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-17<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 20<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481694/830-30-45-20<br><br>Reference 34: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 505<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478448/946-505-50-3<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-1<br><br>Reference 38: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479170/946-210-S99-2<br><br>Reference 39: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 40: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 41: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 42: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480008/505-10-S99-1<br><br>Reference 43: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 44: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 45: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 46: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-15<br><br>Reference 47: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-16<br><br>Reference 48: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 55<br> -Paragraph 4I<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4I<br><br>Reference 49: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476166/350-60-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 13,874<span></span>
</td>
<td class="nump">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net income to net cash provided by operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation</a></td>
<td class="nump">730<span></span>
</td>
<td class="nump">623<span></span>
</td>
<td class="nump">612<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="nump">2,065<span></span>
</td>
<td class="nump">5,692<span></span>
</td>
<td class="nump">6,417<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProvisionForDoubtfulAccounts', window );">Provision for losses on accounts receivable</a></td>
<td class="num">(4)<span></span>
</td>
<td class="num">(33)<span></span>
</td>
<td class="nump">30<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense', window );">Amortization of operating lease assets</a></td>
<td class="nump">51<span></span>
</td>
<td class="nump">53<span></span>
</td>
<td class="nump">53<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(359)<span></span>
</td>
<td class="num">(693)<span></span>
</td>
<td class="num">(401)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Stock-based compensation expense</a></td>
<td class="nump">256<span></span>
</td>
<td class="nump">225<span></span>
</td>
<td class="nump">183<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxExpenseFromStockOptionsExercised', window );">Tax benefit attributable to exercise of stock options</a></td>
<td class="nump">21<span></span>
</td>
<td class="nump">12<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(835)<span></span>
</td>
<td class="nump">2,270<span></span>
</td>
<td class="num">(511)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Other receivables</a></td>
<td class="nump">54<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(14)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="nump">587<span></span>
</td>
<td class="num">(670)<span></span>
</td>
<td class="num">(2,353)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(32)<span></span>
</td>
<td class="nump">45<span></span>
</td>
<td class="num">(64)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(73)<span></span>
</td>
<td class="num">(456)<span></span>
</td>
<td class="nump">464<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilities', window );">Accrued expenses</a></td>
<td class="num">(1,504)<span></span>
</td>
<td class="num">(1,422)<span></span>
</td>
<td class="nump">252<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash provided by operating activities</a></td>
<td class="nump">14,831<span></span>
</td>
<td class="nump">22,281<span></span>
</td>
<td class="nump">21,147<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Property and equipment</a></td>
<td class="num">(230)<span></span>
</td>
<td class="num">(639)<span></span>
</td>
<td class="num">(809)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquireIntangibleAssets', window );">Intangible assets</a></td>
<td class="num">(5)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(9)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment', window );">Proceeds from the sale of property and equipment</a></td>
<td class="nump">27<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash (used in) investing activities</a></td>
<td class="num">(208)<span></span>
</td>
<td class="num">(639)<span></span>
</td>
<td class="num">(818)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProceedsFromIssuanceOfCommonStock', window );">Proceeds from issuance of common stock - options</a></td>
<td class="nump">390<span></span>
</td>
<td class="nump">117<span></span>
</td>
<td class="nump">174<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsForRepurchaseOfCommonStock', window );">Common stock purchased and retired</a></td>
<td class="num">(19,968)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(2,495)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsOfDividends', window );">Dividends paid</a></td>
<td class="num">(4,260)<span></span>
</td>
<td class="num">(4,282)<span></span>
</td>
<td class="num">(3,163)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash (used in) financing activities</a></td>
<td class="num">(23,838)<span></span>
</td>
<td class="num">(4,165)<span></span>
</td>
<td class="num">(5,484)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash</a></td>
<td class="num">(677)<span></span>
</td>
<td class="nump">339<span></span>
</td>
<td class="num">(767)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Net increase in cash and cash equivalents</a></td>
<td class="num">(9,892)<span></span>
</td>
<td class="nump">17,816<span></span>
</td>
<td class="nump">14,078<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at beginning of year</a></td>
<td class="nump">92,868<span></span>
</td>
<td class="nump">75,052<span></span>
</td>
<td class="nump">60,974<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash at end of year</a></td>
<td class="nump">82,976<span></span>
</td>
<td class="nump">92,868<span></span>
</td>
<td class="nump">75,052<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxesPaid', window );">Income taxes</a></td>
<td class="nump">4,638<span></span>
</td>
<td class="nump">4,827<span></span>
</td>
<td class="nump">4,970<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestPaid', window );">Interest</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxExpenseFromStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred tax expense from write-off of the deferred tax asset related to deductible stock options at exercise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxExpenseFromStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Depreciation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Depreciation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477401/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxesPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2A<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 23<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-23<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-22<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxesPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in prepaid expenses, and assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsForRepurchaseOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to reacquire common stock during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsForRepurchaseOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsOfDividends">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsOfDividends</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquireIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquireIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromIssuanceOfCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the additional capital contribution to the entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 14<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromIssuanceOfCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProvisionForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense (reversal of expense) for expected credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479319/326-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProvisionForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Trading Arrangements, by Individual<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_TradingArrByIndTable', window );"><strong>Trading Arrangements, by Individual</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_TradingArrByIndTable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 2<br> -Subparagraph A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_TradingArrByIndTable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SignificantAccountingPoliciesTextBlock', window );">Note 1 - Summary of Significant Accounting Policies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 1 &#8211;&#160;Summary of Significant Accounting Policies</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Organization</span></p>
<p style="font:10pt Times New Roman;margin:0">Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#8217;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#8217; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare Ltd had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 120 companies in the U.S. for their medical and non-medical products.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Use of Estimates in the Preparation of Financial Statements</span></p>
<p style="font:10pt Times New Roman;margin:0">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Principles of Consolidation</span></p>
<p style="font:10pt Times New Roman;margin:0">The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Cash and Cash Equivalents</span></p>
<p style="font:10pt Times New Roman;margin:0">For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Concentration of Credit Risk</span></p>
<p style="font:10pt Times New Roman;margin:0">The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December&#160;31, 2024 except under an extreme global financial crisis.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Accounts Receivable</span></p>
<p style="font:10pt Times New Roman;margin:0">Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Inventories</span></p>
<p style="font:10pt Times New Roman;margin:0">Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2).</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Building and improvements</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt">15-40 years</kbd>&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Furniture, equipment and tooling</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt">3-10 years</kbd>&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Long-Lived Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Intangible Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2024, using the 2024 year-end 1.2521 USD/GBP and 0.6183 USD/AUD currency exchange rates, is about $1,935 in 2025, $426 in 2026, $14 in 2027, $11 in 2028, and $10 in 2029 (see note 2). &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">In 2019, $21,000 in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized in 2023 (see note 15). </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Stock-Based Compensation </span></p>
<p style="font:10pt Times New Roman;margin:0">At December 31, 2024, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, <i>Share-Based Payment</i>. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2024, the Company recognized $255 in stock-based compensation cost compared to $225 in 2023 and $183 in 2022. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Revenue Recognition</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for </p>
<p style="font:10pt Times New Roman;margin:0">other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Income Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2024, 2023 or 2022.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Legal Costs</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2024 and 2023 was $111 and $257, respectively (see note 2).</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Earnings per Share</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<table style="border-collapse:collapse"><tr><td style="width:282.95pt" valign="top"></td><td style="width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding &#8211;&#160;basic</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,629</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td></tr>
<tr><td style="width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Dilutive effect of stock options</span></p>
</td><td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right">&#160;-</p>
</td><td style="width:62.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">8</kbd>&#160;</p>
</td><td style="width:64.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">6</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding, assuming dilution</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,643</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Presentation of Sales and Similar Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2024 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Translation of Foreign Currencies</span></p>
<p style="font:10pt Times New Roman;margin:0">Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock', window );">Note 2 - Detail of Certain Balance Sheet Accounts</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 2 &#8211;&#160;Detail of Certain Balance Sheet Accounts</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:130.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="width:256.55pt" valign="top"></td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts receivable</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">4,239&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,488&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued interest and other</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(2)</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">53&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Less allowance for doubtful accounts</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(143)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(151)</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total accounts and other receivables</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">4,094&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,390&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventories:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Finished products</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,913&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,685&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,414&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,503&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">5,485&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">6,394&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total inventories</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">8,812&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,582&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Goodwill:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Balance as of January 1</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">13,692&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">13,354&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Effect of foreign exchange</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(112)</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">338&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Subtractions as a result of impairment</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">-&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">-&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total Goodwill as of December 31</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">13,580&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">13,692&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Patents</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">2,210&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">2,209&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Non-compete agreements</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">125&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">127&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Trademarks &amp; trade names</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">9,205&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,360&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Customer relationships</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">8,952&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,108&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Distribution agreements</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">21,000&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">21,000&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Right-of-Use Asset</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">338&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">342&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Regulatory approvals &amp; product certifications</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">11,942&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">12,150&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total Other Identifiable Intangible Assets</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">53,772&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">54,296&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated amortization</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(50,907)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(49,350)</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets, Net</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">2,865&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">4,946&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued expenses:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Income taxes payable (receivable)</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(153)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">327&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Payroll and payroll taxes</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,148&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,294&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Reserve for litigation costs</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">111&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">257&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,955&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">2,063&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total accrued expenses</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">3,061&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,941&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SupplementalBalanceSheetDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/210/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SupplementalBalanceSheetDisclosuresTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_QuarterlyFinancialInformationTextBlock', window );">Note 3 - Quarterly Results of Operations (Unaudited)</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 3 &#8211;&#160;Quarterly Results of Operations (Unaudited)</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">11,340</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">10,400</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">10,005</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">9,157</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">6,766</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">6,253</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">5,802</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">5,323</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">3,956</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">3,453</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">3,563</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">2,902</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">1.09</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">0.98</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.03</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">0.86</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">12,520</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">12,866</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,505</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,333</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">7,843</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">7,739</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">7,359</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">7,098</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">4,214</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">4,200</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">3,935</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,287</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">1.16</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">1.15</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.08</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.18</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">12,323</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">13,428</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,955</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">13,575</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">7,533</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">8,151</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">8,186</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">8,327</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,534</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">4,103</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,280</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,555</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">0.96</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">1.12</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.18</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.25</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_QuarterlyFinancialInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 270<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/270/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_QuarterlyFinancialInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock', window );">Note 4 - Property and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 4 &#8211;&#160;Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Property and equipment consists of the following:</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:38.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"></td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,604&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,638&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,539&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,907&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;18,527&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;17,315&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,413&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:18.32%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;33,689&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;34,273&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,926)</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,722)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:18.32%;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;9,763&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;10,551&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Included in the Company&#8217;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100.08%"><tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:60.54%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2024</span></p>
</td></tr>
<tr><td style="width:37.02%" valign="top"></td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td style="width:15.58%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td style="width:13.14%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td style="width:14.76%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;621&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;627&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;356&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,604&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,576&#160;</p>
</td><td style="width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,101&#160;</p>
</td><td style="width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,862&#160;</p>
</td><td style="width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,539&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;15,842&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;710&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,975&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;18,527&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td><td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;23,058&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,438&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,193&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;33,689&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18,930)</p>
</td><td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,587)</p>
</td><td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3,409)</p>
</td><td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,926)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,128&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,851&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,784&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;9,763&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:59.7%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2023</span></p>
</td></tr>
<tr><td style="width:37.3%" valign="top"></td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td style="width:15.96%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td style="width:13.44%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td style="width:15.16%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;621&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;637&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;380&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,638&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,584&#160;</p>
</td><td style="width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,194&#160;</p>
</td><td style="width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,129&#160;</p>
</td><td style="width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,907&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;15,075&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;732&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,508&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;17,315&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;913&#160;</p>
</td><td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3&#160;</p>
</td><td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;497&#160;</p>
</td><td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,413&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;23,193&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,566&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,514&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;34,273&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18,701)</p>
</td><td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,464)</p>
</td><td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3,557)</p>
</td><td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,722)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,492&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,102&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,957&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;10,551&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/360/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 5 - Long-term Debt<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebtTextBlock', window );">Note 5 - Long-term Debt</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 5 &#8211;&#160;Long-term Debt</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">None in 2023 and 2024.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebtTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for long-term debt.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/470/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebtTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Commitments and Contingencies<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock', window );">Note 6 - Commitments and Contingencies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 6 &#8211;&#160;Commitments and Contingencies</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Purchase Obligations</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Product Liability</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company is self-insured for product liability risk. &#8220;Product liability&#8221; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#8217;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although product liability litigation expenses at $2,139 in 2024, $1,660 in 2023 and $670 in 2022 were high relative to history, they were not material to overall consolidated financial results. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company absorbs the costs of clinical training and trouble-shooting in its on-going operating expenses.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Warranty Reserve </span></p>
<p style="font:10pt Times New Roman;margin:0">The Company&#8217;s published warranty is: &#8220;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.&#8221; </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">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 are immaterial, no warranty reserve was made at December 31, 2024 or December 31, 2023. </p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Litigation &#160;</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingenciesDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for commitments and contingencies.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 405<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/405-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/450/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 954<br> -SubTopic 440<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478522/954-440-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 440<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482648/440-10-50-4<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 440<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/440/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingenciesDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Note 7 - Income Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 7 &#8211;&#160;Income Taxes &#160;</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Deferred tax assets (liabilities) consist of the following temporary differences:</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:44.02%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr><td style="width:53.18%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventory write-downs and differences due to UNICAP</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;270&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;110&#160;</p>
</td><td style="background-color:#D3F0FE;width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;103&#160;</p>
</td></tr>
<tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Allowance for doubtful accounts</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;29&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;31&#160;</p>
</td><td style="width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;39&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued liabilities and reserves</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;50&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;90&#160;</p>
</td><td style="background-color:#D3F0FE;width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;90&#160;</p>
</td></tr>
<tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Depreciation and amortization</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,451)</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,673)</p>
</td><td style="width:14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(2,295)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes, net</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(1,102)</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(1,442)</p>
</td><td style="background-color:#D3F0FE;width:14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(2,063)</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The components of income tax expense are as follows:</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td style="width:53.2%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Current</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,268&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,075&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,632&#160;</p>
</td></tr>
<tr><td style="width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(340)</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(621)</p>
</td><td style="width:14.18%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(446)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,928&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,454&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,186&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:44.02%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Federal income tax expense at the statutory rate</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,794&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,346&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,620&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;504&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;439&#160;</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;490&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1)</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;951&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,129&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">R&amp;D tax credits and manufacturing profit deduction</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18)</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3)</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3)</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Tax-exempt income</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(201)</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(195)</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(150)</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(84)</p>
</td><td style="background-color:#D3F0FE;width:14.18%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(50)</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,928&#160;</p>
</td><td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,454&#160;</p>
</td><td style="width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,186&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The domestic and foreign components of income before income tax expense were as follows: &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:43.98%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.22%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.1%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Domestic</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;13,306</p>
</td><td style="background-color:#D3F0FE;width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;11,170</p>
</td><td style="background-color:#D3F0FE;width:14.1%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;12,475</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,496</p>
</td><td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;8,919</p>
</td><td style="width:14.1%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;8,184</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;16,802</p>
</td><td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;20,089</p>
</td><td style="background-color:#D3F0FE;width:14.1%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;20,659</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12C<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477891/740-270-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480990/946-20-50-13<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/740/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-14<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-21<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock', window );">Note 8 - Options</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 8 &#8211;&#160;Options</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of 275 thousand shares of common stock, of which 98 thousand are outstanding as of December 31, 2024. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<table style="border-collapse:collapse"><tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:166.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">(000&#8217;s)</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:166.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Per Share</span></p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">25</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">64.09</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">64.09</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">58.50</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">98</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">58.50</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">58.50</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">77.07</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.07</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.4</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">77.05</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">84</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">50</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">82.60</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">67</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">40</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">For the years ended December 31, 2024, 2023 and 2022, the Company reduced current income taxes payable by $20, $12 and $6, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Stock-Based Compensation</span></p>
<p style="font:10pt Times New Roman;margin:0">In 2024, the Company recognized $255 in equity compensation cost, compared to $225 in 2023 and $183 in 2022.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse"><tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:216.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected dividend amount per quarter</p>
</td><td style="background-color:#D3F0FE;width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3150&#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3090&#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3050&#160;&#160;</p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected stock price volatility</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;31.21%</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;31.67%</p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;29.87%</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate</p>
</td><td style="background-color:#D3F0FE;width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.23%</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.75%</p>
</td><td style="background-color:#D3F0FE;width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.09%</p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected life of options</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.8 years</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.6 years</p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.7 years</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The per share weighted average fair value of options granted during 2024 is $19.77, 2023 is $25.09 and in 2022 is $25.34.  </p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">All UTMD options vest over a four-year service period. &#160;At December 31, 2024 there was $898 total unrecognized compensation expense related to non-vested stock options under the plans. A $329 portion of the cost is expected to be recognized over the next twelve months, and the remaining $570 recognized over the next 4 years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#8217;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#8217;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table summarizes information about stock options outstanding at December 31, 2024:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:399pt"><tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" style="width:203pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Outstanding</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:116pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Exercisable</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Remaining</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Range of</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Actual</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Contractual</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Life</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Prices</span></p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Outstanding</span></p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">(Years)</span></p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Exercisable</span></p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">64.09</p>
</td><td style="background-color:#D3F0FE;width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">29,575</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">8.49</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">63.15</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,975</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">74.64</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">77.07</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">48,310</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.39</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.60</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">34,210</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.41</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,100</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">7.78</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,050</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">97,985</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">7.31</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">73.77</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">49,235</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">75.86</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:418pt"><tr style="height:7.2pt"><td style="width:226pt" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:226pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Exercised</p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$77 </p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$31 </p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$141 </p>
</td></tr>
<tr style="height:7.2pt"><td style="width:226pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Outstanding</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">814</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,812</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_GeographicInformationTextBlock', window );">Note 9 - Geographic Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">Note 9 &#8211;&#160;Geographic Information</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The Company had sales in the following geographic areas based on the customer&#8217;s country of domicile:</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:418.3pt"><tr style="height:7.2pt"><td style="width:223.2pt" valign="middle"></td><td style="width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#D3F0FE;width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">23,873</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">30,413</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">34,524</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,705</kbd>&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,918</kbd>&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">7,214</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,325</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">10,893</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">10,543</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0"></p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_GeographicInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Geographic Sales Information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_GeographicInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_GeographicLongLivedAssetsInformationTextBlock', window );">Note 10 - Geographic Long-Lived Assets Information</a></td>
<td class="text">Note 10 &#8211;&#160;Long-lived Assets by Geographic Area &#160; The Company&#8217;s long-lived assets by geographic area were as follows: <p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:325pt"><tr style="height:7.2pt"><td style="width:149pt" valign="middle"></td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,124</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,462</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">14,875</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,445</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">13,838</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">15,184</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,827</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,963</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,954</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">290</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">336</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">337</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">523</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">589</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">593</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_GeographicLongLivedAssetsInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Geographic Long-Lived Assets Information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_GeographicLongLivedAssetsInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_RevenuesbyproductcategoryandregionTextBlock', window );">Note 11 - Revenues By Product Category And Region</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 11 &#8211;&#160;Revenues by Product Category and Geographic Region</span></p>
<kbd style="margin-left:10.8pt"></kbd><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Global revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td style="width:202.5pt" valign="top"></td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">4,260</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">4,592</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">4,661</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">20,707</kbd>&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">22,300</kbd>&#160;</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">21,841</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">6,869</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">6,863</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">7,567</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">9,067</kbd>&#160;</p>
</td><td style="width:45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">16,469</kbd>&#160;</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">18,212</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">40,903</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">50,224</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">52,281</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td style="width:202.5pt" valign="top"></td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">821</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">1,041</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">676</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">11,390</kbd>&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">11,992</kbd>&#160;</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">11,603</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">1,523</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">1,678</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">1,517</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">3,724</kbd>&#160;</p>
</td><td style="width:45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">7,309</kbd>&#160;</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">6,514</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">17,458</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">22,020</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">20,310</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_RevenuesbyproductcategoryandregionTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Revenues by Product Category and Region.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_RevenuesbyproductcategoryandregionTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Product Sale and Purchase Commitments<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ProductSaleAndPurchaseCommitmentsTextBlock', window );">Note 12 - Product Sale and Purchase Commitments</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 12 - Product Sale and Purchase Commitments</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#8217;s cost of goods sold on an ongoing basis.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In 2024, 2023 and 2022, UTMD received royalties of $15, $20 and $20, respectively, for the use of intellectual property.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">UTMD had $3,747 in operating lease and purchase commitments as of December 31, 2024<b>. &#160;</b></p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ProductSaleAndPurchaseCommitmentsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Product Sale and Purchase Commitments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ProductSaleAndPurchaseCommitmentsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Employee Benefit Plans<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock', window );">Note 13 - Employee Benefit Plans</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 13 &#8211;&#160;Employee Benefit Plans</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#8217;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $209, $184 and $159 for the years ended December 31, 2024, 2023 and 2022, respectively.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for retirement benefits.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 70<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480794/715-70-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 17<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480482/715-20-55-17<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iv)(03)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (q)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (l)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/715/tableOfContent<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (o)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (p)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (r)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480506/715-20-50-1<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480126/715-20-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 715<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480266/715-60-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Note 14 - Leases</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 14 &#8211;&#160;Leases</span></p>
<p style="font:10pt Times New Roman;margin:0">UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is 7 years and on the automobile is 30 months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $87 to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#8217;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Operating lease costs for the years ended December 31, 2024, 2023, and 2022 were $66, $65, and $64, respectively.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">Supplemental balance sheet information related to operating leases was as follows (<i>in thousands</i>):</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:15pt"><td style="background-color:#D3F0FE;width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease right-of-use assets</p>
</td><td style="background-color:#D3F0FE;width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338</p>
</td></tr>
<tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, current (included in Accrued Expenses)</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;56</p>
</td></tr>
<tr style="height:15pt"><td style="background-color:#D3F0FE;width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, long-term</p>
</td><td style="background-color:#D3F0FE;width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;282</p>
</td></tr>
<tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Total operating lease liabilities</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">&#160;</p>
<p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:481.5pt"><tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Maturities of operating lease liabilities at December 31, 2024 were as follows (<i>in thousands</i>):</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2025 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;55&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2026 (less imputed interest)</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;58&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2027 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;55&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2028 (less imputed interest)</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;44&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2029 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;46&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Thereafter (less imputed interest)</p>
</td><td style="width:121.5pt;border-bottom:1pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;80&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;364&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td style="width:121.5pt;border-bottom:3px double #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(26)</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">The following table provides information on the lease terms and discount rates:</p>
<table style="border-collapse:collapse;margin-left:5.65pt"><tr><td style="background-color:#D3F0FE;width:239.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average remaining lease term (in years)</p>
</td><td style="background-color:#D3F0FE;width:81pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.1</p>
</td></tr>
<tr><td style="width:239.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average discount rate</p>
</td><td style="width:81pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.3%</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - CSI Distribution Agreement Purchase Disclosure<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsDisclosureTextBlock', window );">Note 15 - CSI Distribution Agreement Purchase Disclosure</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0;color:#000000"><span style="border-bottom:1px solid #000000">Note 15 - Distribution Agreement Purchase</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represented an identifiable intangible asset which was straight-line amortized and recognized as part of G&amp;A expenses over the 4.75 year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement became fully amortized in 4<span style="vertical-align:super">th</span> quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/985-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Note 16 - Earnings Per Share</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 16 - Earnings Per Share</span></p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2024.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:247.5pt" valign="top"></td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Numerator </b><i>(in thousands)</i></p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,874</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,635</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,473</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Denominator</b></p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted average shares, basic</p>
</td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,503</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,629</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Dilutive effect of stock options</p>
</td><td style="background-color:#D3F0FE;width:76.5pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">8</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Diluted shares</p>
</td><td style="width:76.5pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,503</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, basic</p>
</td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.96</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.58</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.53</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, diluted</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.96</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.57</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.52</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>44
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Segment Information<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SegmentReportingDisclosureTextBlock', window );">Note 17 - Segment Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 17 &#8211;&#160;Segment Information</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">The Company operates as one operating segment. &#160;The Company&#8217;s chief operating decision maker (&#8220;CODM&#8221;) 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.</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">The following table presents selected financial information with respect to the Company&#8217;s single operating segment for the years ended December 31, 2024, 2023 and 2022:</p>
<p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:428.05pt"><tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Year Ended December 31,</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"></td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Revenues</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">40,903&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">50,224&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">52,281&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Less:</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Standard cost of sales</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,406&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">17,400&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,939&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other cost of sales</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,353&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,786&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,146&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">24,143&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">30,038&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">32,196&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit Margin</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">59.0%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">59.8%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">61.6%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Sales &amp; Marketing</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,901&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,685&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,507&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Research &amp; Development</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">813&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">560&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">493&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Litigation Fees</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,139&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,660&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">670&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Amortization</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,030&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">5,661&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">6,386&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other General &amp; Administrative</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,666&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,695&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,350&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating Income</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,594&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,777&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">19,790&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Operating Income Margin</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">33.2%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">33.4%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">37.9%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other Income</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Interest income</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,367&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,036&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">661&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other income (expense)</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">(159)&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">276&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">209&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Income before income taxes</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,802&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">20,089&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">20,659&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,928&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,454&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">4,186&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,874&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,635&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,473&#160;&#160;</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">See the consolidated financial statements for other financial information regarding the Company&#8217;s operating segment.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SegmentReportingDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 8: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 10: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 54<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-54<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 47<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-47<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 34<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-34<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26C<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-15<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/280/tableOfContent<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 26<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-26<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-21<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SegmentReportingDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>45
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Recent Accounting Pronouncements<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock', window );">Note 18 - Recent Accounting Pronouncements</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 18 &#8211;&#160;Recent Accounting Pronouncements</span></p>
<p style="font:10pt Times New Roman;margin:0">In November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07, <i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>, requiring public entities to disclose information about their reportable segments&#8217; significant expenses and other segment items on an interim and annual basis. &#160;Public entities with a single reportable segment are required to apply the disclosure requirements in ASU 2023-07, as well as all existing segment disclosures and reconciliation requirements in ASC 280 on an interim and annual basis. &#160;The Company adopted ASU 2023-07 during the year ended December 31, 2024. &#160;See Note 17 Segment Information in the accompanying notes to the consolidated financial statements for further detail.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires public entities, on an annual basis, to provide disclosure of specific categories in the rate reconciliation, as well as disclosure of income taxes paid disaggregated by jurisdiction. &#160;ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting AUS 2023-09.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In November 2024, the FASB issued ASU 2024-03, Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, 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.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476173/280-10-65-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 105<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479343/105-10-65-7<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 848<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483550/848-10-65-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480016/944-40-65-2<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 5<br> -Subparagraph (SAB Topic 11.M.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480530/250-10-S99-5<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 6<br> -Subparagraph (i)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480528/815-20-65-6<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 4<br> -Subparagraph (e)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479654/326-10-65-4<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483194/926-20-65-2<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483194/926-20-65-2<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (f)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483194/926-20-65-2<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480530/250-10-S99-6<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 250<br> -Publisher FASB<br> -URI https://asc.fasb.org/250/tableOfContent<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>46
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 19 - Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisclosureTextBlockAbstract', window );"><strong>Notes</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Note 19 - Subsequent Events</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000">Note 19 &#8211;&#160;Subsequent Events</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluated its December 31, 2024 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. &#160;After December 31, 2024 through March 25, 2025, the Company made additional repurchases of 53,340 shares of its stock in the open market for $3,169, at an average price of $59.41 per share.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisclosureTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisclosureTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>47
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Estimates in The Preparation of Financial Statements</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Use of Estimates in the Preparation of Financial Statements</span></p>
<p style="font:10pt Times New Roman;margin:0">The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConsolidationPolicyTextBlock', window );">Principles of Consolidation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Principles of Consolidation</span></p>
<p style="font:10pt Times New Roman;margin:0">The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConsolidationPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 810<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConsolidationPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>49
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock', window );">Cash and Cash Equivalents</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Cash and Cash Equivalents</span></p>
<p style="font:10pt Times New Roman;margin:0">For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482913/230-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConcentrationRiskDisclosureTextBlock', window );">Concentration of Credit Risk</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Concentration of Credit Risk</span></p>
<p style="font:10pt Times New Roman;margin:0">The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December&#160;31, 2024 except under an extreme global financial crisis.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConcentrationRiskDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/275/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConcentrationRiskDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>51
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ReceivablesPolicyTextBlock', window );">Accounts Receivable</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Accounts Receivable</span></p>
<p style="font:10pt Times New Roman;margin:0">Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ReceivablesPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481569/310-20-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ReceivablesPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>52
<FILENAME>R33.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryPolicyTextBlock', window );">Inventories</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Inventories</span></p>
<p style="font:10pt Times New Roman;margin:0">Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2).</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483489/210-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 912<br> -SubTopic 330<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478411/912-330-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/330/tableOfContent<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483080/330-10-50-4<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482989/270-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>53
<FILENAME>R34.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock', window );">Property and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Property and Equipment</span></p>
<p style="font:10pt Times New Roman;margin:0">Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Building and improvements</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt">15-40 years</kbd>&#160;</p>
<p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt">Furniture, equipment and tooling</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt">3-10 years</kbd>&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-6<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -SubTopic 360<br> -Topic 958<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477798/958-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>R35.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock', window );">Long-lived Assets</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Long-Lived Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#8220;Accounting for the Impairment of Long-Lived Assets.&#8221; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.CC)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480091/360-10-S99-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 4<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482338/360-10-05-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>55
<FILENAME>R36.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock', window );">Intangible Assets</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Intangible Assets</span></p>
<p style="font:10pt Times New Roman;margin:0">Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#8217;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2024, using the 2024 year-end 1.2521 USD/GBP and 0.6183 USD/AUD currency exchange rates, is about $1,935 in 2025, $426 in 2026, $14 in 2027, $11 in 2028, and $10 in 2029 (see note 2). &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">In 2019, $21,000 in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized in 2023 (see note 15). </p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-30/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/350-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>56
<FILENAME>R37.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy', window );">Stock-based Compensation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Stock-Based Compensation </span></p>
<p style="font:10pt Times New Roman;margin:0">At December 31, 2024, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, <i>Share-Based Payment</i>. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2024, the Company recognized $255 in stock-based compensation cost compared to $225 in 2023 and $183 in 2022. &#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(v)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.C.Q3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.1.Q5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.3.Q2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.D.2.Q6)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/718/tableOfContent<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>57
<FILENAME>R38.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Revenue Recognition</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#8217;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#8217;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for </p>
<p style="font:10pt Times New Roman;margin:0">other companies. &#160;This revenue is recognized when UTMD&#8217;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483426/235-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>58
<FILENAME>R39.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxPolicyTextBlock', window );">Income Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Income Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company accounts for income taxes under ASC 740, &#8220;Accounting for Income Taxes,&#8221; whereby deferred taxes are computed under the asset and liability method. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company accounts for deferred taxes under ASC 740, &#8220;Accounting for Income Taxes&#8221;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#8217;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2024, 2023 or 2022.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 20<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-20<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-19<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-03(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479886/946-10-S99-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-17<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482525/740-10-45-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>59
<FILENAME>R40.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LegalCostsPolicyTextBlock', window );">Legal Costs</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Legal Costs</span></p>
<p style="font:10pt Times New Roman;margin:0">The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2024 and 2023 was $111 and $257, respectively (see note 2).</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LegalCostsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for legal costs incurred to protect or defend the entity's assets and rights, or to obtain assets, including monetary damages, or to obtain rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480102/450-20-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LegalCostsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<FILENAME>R41.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerSharePolicyTextBlock', window );">Earnings Per Share</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Earnings per Share</span></p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. </p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">The shares (in thousands) used in the computation of the Company&#8217;s basic and diluted earnings per share are reconciled as follows:</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<table style="border-collapse:collapse"><tr><td style="width:282.95pt" valign="top"></td><td style="width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding &#8211;&#160;basic</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,629</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td></tr>
<tr><td style="width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Dilutive effect of stock options</span></p>
</td><td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right">&#160;-</p>
</td><td style="width:62.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">8</kbd>&#160;</p>
</td><td style="width:64.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">6</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding, assuming dilution</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,643</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerSharePolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerSharePolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>61
<FILENAME>R42.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PresentationOfSalesAndSimilarTaxesTextBlock', window );">Presentation of Sales and Similar Taxes</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Presentation of Sales and Similar Taxes</span></p>
<p style="font:10pt Times New Roman;margin:0">Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2024 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_PresentationOfSalesAndSimilarTaxesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_PresentationOfSalesAndSimilarTaxesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>62
<FILENAME>R43.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock', window );">Translation of Foreign Currencies</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"><span style="border-bottom:1px solid #000000">Translation of Foreign Currencies</span></p>
<p style="font:10pt Times New Roman;margin:0">Assets and liabilities of the Company&#8217;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#8217;s assets and liabilities are reflected as a separate component of stockholders&#8217; equity. &#160;A negative translation impact on stockholders&#8217; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, as applicable.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org/830/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>63
<FILENAME>R44.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PolicyTextBlockAbstract', window );"><strong>Policies</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">New Accounting Pronouncements, Policy</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">In November 2023, the Financial Accounting Standards Board (&#8220;FASB&#8221;) issued Accounting Standards Update (&#8220;ASU&#8221;) 2023-07, <i>Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures</i>, requiring public entities to disclose information about their reportable segments&#8217; significant expenses and other segment items on an interim and annual basis. &#160;Public entities with a single reportable segment are required to apply the disclosure requirements in ASU 2023-07, as well as all existing segment disclosures and reconciliation requirements in ASC 280 on an interim and annual basis. &#160;The Company adopted ASU 2023-07 during the year ended December 31, 2024. &#160;See Note 17 Segment Information in the accompanying notes to the consolidated financial statements for further detail.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires public entities, on an annual basis, to provide disclosure of specific categories in the rate reconciliation, as well as disclosure of income taxes paid disaggregated by jurisdiction. &#160;ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting AUS 2023-09.</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">In November 2024, the FASB issued ASU 2024-03, Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, 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.</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PolicyTextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PolicyTextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>64
<FILENAME>R45.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock', window );">Schedule of Weighted Average Number of Shares</a></td>
<td class="text"><table style="border-collapse:collapse"><tr><td style="width:282.95pt" valign="top"></td><td style="width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding &#8211;&#160;basic</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,629</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td></tr>
<tr><td style="width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Dilutive effect of stock options</span></p>
</td><td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right">&#160;-</p>
</td><td style="width:62.8pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">8</kbd>&#160;</p>
</td><td style="width:64.35pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">6</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:282.95pt" valign="top"><p style="font:8pt Times New Roman;margin:0"><span style="font-size:10pt">Weighted average number of shares outstanding, assuming dilution</span></p>
</td><td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;margin-right:3pt"><kbd style="margin-left:36pt"></kbd>3,503&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,637</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:52pt">3,643</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 260<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>65
<FILENAME>R46.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ScheduleOfCondensedBalanceSheetTableTextBlock', window );">Detail of Certain Balance Sheet Accounts</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:130.95pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="width:256.55pt" valign="top"></td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts and other receivables:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accounts receivable</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">4,239&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,488&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued interest and other</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(2)</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">53&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Less allowance for doubtful accounts</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(143)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(151)</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total accounts and other receivables</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">4,094&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,390&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventories:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Finished products</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,913&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,685&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Work-in-process</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,414&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,503&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Raw materials</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">5,485&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">6,394&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total inventories</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">8,812&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,582&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Goodwill:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Balance as of January 1</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">13,692&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">13,354&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Effect of foreign exchange</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(112)</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">338&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Subtractions as a result of impairment</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">-&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">-&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total Goodwill as of December 31</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">13,580&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">13,692&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Patents</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">2,210&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">2,209&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Non-compete agreements</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">125&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">127&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Trademarks &amp; trade names</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">9,205&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,360&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Customer relationships</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">8,952&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">9,108&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Distribution agreements</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">21,000&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">21,000&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Right-of-Use Asset</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">338&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">342&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Regulatory approvals &amp; product certifications</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">11,942&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">12,150&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total Other Identifiable Intangible Assets</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">53,772&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">54,296&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated amortization</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(50,907)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">(49,350)</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other Identifiable Intangible Assets, Net</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">2,865&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">4,946&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued expenses:</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Income taxes payable (receivable)</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">(153)</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">327&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Payroll and payroll taxes</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,148&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">1,294&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Reserve for litigation costs</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">111&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">257&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="2" style="background-color:#D3F0FE;width:229.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56.25pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">1,955&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:62.9pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">2,063&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:27.05pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:27pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total accrued expenses</p>
</td><td style="width:13pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt">3,061&#160;</kbd>&#160;</p>
</td><td style="width:11.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt">3,941&#160;</kbd>&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ScheduleOfCondensedBalanceSheetTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of condensed balance sheet, including, but not limited to, balance sheets of consolidated entities and consolidation eliminations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Name Regulation S-X (SX)<br> -Number 210<br> -Section 12<br> -Subsection 04<br> -Paragraph a<br> -Publisher SEC<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.12-04(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ScheduleOfCondensedBalanceSheetTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>srt_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>66
<FILENAME>R47.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock', window );">Quarterly Financial Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">11,340</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">10,400</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">10,005</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">9,157</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">6,766</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">6,253</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">5,802</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">5,323</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">3,956</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">3,453</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">3,563</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">2,902</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">1.09</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">0.98</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.03</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">0.86</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">12,520</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">12,866</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,505</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,333</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">7,843</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">7,739</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">7,359</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">7,098</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">4,214</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">4,200</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">3,935</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,287</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt">1.16</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt">1.15</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.08</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.18</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse"><tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:302.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Unaudited Quarterly Data for 2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"></td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">First Quarter</span></p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Second Quarter</span></p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Third Quarter</span></p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Fourth Quarter</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Sales &#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">12,323</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">13,428</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">12,955</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">13,575</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">7,533</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">8,151</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">8,186</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">8,327</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,534</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">4,103</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,280</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">4,555</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:180pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings Per Common Share (Diluted)</p>
</td><td style="width:72pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">0.96</kbd>&#160;</p>
</td><td style="width:78.8pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">1.12</kbd>&#160;</p>
</td><td style="width:75.75pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.18</kbd>&#160;</p>
</td><td style="width:75.85pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt">1.25</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 270<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>R48.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentTextBlock', window );">Property, Plant and Equipment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:38.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"></td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,604&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,638&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,539&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,907&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:18.32%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;18,527&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;17,315&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,413&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:6.52%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:55.32%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:18.32%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;33,689&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;34,273&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,926)</p>
</td><td style="width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:16.78%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,722)</p>
</td></tr>
<tr style="height:7.2pt"><td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:18.32%;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;9,763&#160;</p>
</td><td style="background-color:#D3F0FE;width:3.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:16.78%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;10,551&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>68
<FILENAME>R49.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_PropertyPlantAndEquipmentByLocationTextBlock', window );">Property Plant and Equipment by Location</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100.08%"><tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:60.54%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2024</span></p>
</td></tr>
<tr><td style="width:37.02%" valign="top"></td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td style="width:15.58%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td style="width:13.14%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td style="width:14.76%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;621&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;627&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;356&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,604&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,576&#160;</p>
</td><td style="width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,101&#160;</p>
</td><td style="width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,862&#160;</p>
</td><td style="width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,539&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;15,842&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;710&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,975&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;18,527&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td><td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;19&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;23,058&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,438&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,193&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;33,689&#160;</p>
</td></tr>
<tr><td style="width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:17.04%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18,930)</p>
</td><td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,587)</p>
</td><td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3,409)</p>
</td><td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,926)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:2.44%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:17.04%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,128&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,851&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,784&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;9,763&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:59.7%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31, 2023</span></p>
</td></tr>
<tr><td style="width:37.3%" valign="top"></td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">U.S. &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Canada</span></p>
</td><td style="width:15.96%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center">England &amp;</p>
<p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Australia</span></p>
</td><td style="width:13.44%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Ireland</span></p>
</td><td style="width:15.16%" valign="bottom"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Total</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Land</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;621&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;637&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;380&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;1,638&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Buildings and improvements</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,584&#160;</p>
</td><td style="width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,194&#160;</p>
</td><td style="width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,129&#160;</p>
</td><td style="width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;13,907&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Furniture, equipment and tooling</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;15,075&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;732&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,508&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;17,315&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Construction-in-progress</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;913&#160;</p>
</td><td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3&#160;</p>
</td><td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;497&#160;</p>
</td><td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,413&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;23,193&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;4,566&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;6,514&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;34,273&#160;</p>
</td></tr>
<tr><td style="width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accumulated depreciation</p>
</td><td style="width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:15.12%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18,701)</p>
</td><td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,464)</p>
</td><td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3,557)</p>
</td><td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(23,722)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:37.3%" valign="top"><p style="font:10pt Times New Roman;margin:0">Property and equipment, net</p>
</td><td style="background-color:#D3F0FE;width:3.02%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.12%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,492&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,102&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,957&#160;</p>
</td><td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;10,551&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_PropertyPlantAndEquipmentByLocationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_PropertyPlantAndEquipmentByLocationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<FILENAME>R50.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock', window );">Schedule of Deferred Tax Assets and Liabilities</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="4" style="width:44.02%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">December 31,</span></p>
</td></tr>
<tr><td style="width:53.18%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Inventory write-downs and differences due to UNICAP</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;270&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;110&#160;</p>
</td><td style="background-color:#D3F0FE;width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;103&#160;</p>
</td></tr>
<tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Allowance for doubtful accounts</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;29&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;31&#160;</p>
</td><td style="width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;39&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Accrued liabilities and reserves</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;50&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;90&#160;</p>
</td><td style="background-color:#D3F0FE;width:14%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;90&#160;</p>
</td></tr>
<tr><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Depreciation and amortization</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,451)</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1,673)</p>
</td><td style="width:14%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(2,295)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred income taxes, net</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(1,102)</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(1,442)</p>
</td><td style="background-color:#D3F0FE;width:14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;(2,063)</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>70
<FILENAME>R51.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock', window );">Schedule of Components of Income Tax Expense (Benefit)</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr><td style="width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:44%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td style="width:53.2%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Current</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,268&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,075&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,632&#160;</p>
</td></tr>
<tr><td style="width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Deferred</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(340)</p>
</td><td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(621)</p>
</td><td style="width:14.18%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(446)</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:53.2%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,928&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,454&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,186&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>R52.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock', window );">Schedule of Effective Income Tax Rate Reconciliation</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:44.02%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Federal income tax expense at the statutory rate</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,794&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,346&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,620&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">State income taxes</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;504&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;439&#160;</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;490&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign income taxes (blended rate)</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(1)</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;951&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;1,129&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">R&amp;D tax credits and manufacturing profit deduction</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(18)</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3)</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(3)</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Tax-exempt income</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(201)</p>
</td><td style="background-color:#D3F0FE;width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(195)</p>
</td><td style="background-color:#D3F0FE;width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Change in Rate</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.92%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td><td style="width:14.18%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;-&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(150)</p>
</td><td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(84)</p>
</td><td style="background-color:#D3F0FE;width:14.18%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(50)</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.18%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;2,928&#160;</p>
</td><td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;3,454&#160;</p>
</td><td style="width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;4,186&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<FILENAME>R53.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock', window );">Schedule of Income before Income Tax, Domestic and Foreign</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:43.98%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.22%" valign="top"></td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:14.1%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Domestic</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;13,306</p>
</td><td style="background-color:#D3F0FE;width:14.94%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;11,170</p>
</td><td style="background-color:#D3F0FE;width:14.1%" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;12,475</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Foreign</p>
</td><td style="width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;3,496</p>
</td><td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;8,919</p>
</td><td style="width:14.1%;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;8,184</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:53.22%" valign="top"><p style="font:10pt Times New Roman;margin:0">Total</p>
</td><td style="background-color:#D3F0FE;width:2.8%" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;16,802</p>
</td><td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;20,089</p>
</td><td style="background-color:#D3F0FE;width:14.1%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;20,659</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of income before income tax between domestic and foreign jurisdictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>73
<FILENAME>R54.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock', window );">Schedule of Share-based Compensation, Stock Options, Activity</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">&#160;</p>
<table style="border-collapse:collapse"><tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Shares</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:166.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">Price Range</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">(000&#8217;s)</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:166.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Per Share</span></p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">25</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">64.09</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">64.09</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">3</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">8</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">58.50</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">98</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">58.50</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">52</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">58.50</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">19</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">77.07</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.07</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">0.4</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">77.05</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">84</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">50</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">49.18</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Granted</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">21</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">82.60</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">82.60</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expired or canceled</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">2</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Exercised</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total outstanding at December 31</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">67</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:256.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total exercisable at December 31</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">40</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:74.45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt">33.30</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:12.15pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:80.3pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt">77.05</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (e)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>74
<FILENAME>R55.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock', window );">Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse"><tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td colspan="3" style="width:216.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">Years ended December 31,</span></p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected dividend amount per quarter</p>
</td><td style="background-color:#D3F0FE;width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3150&#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3090&#160;&#160;</p>
</td><td style="background-color:#D3F0FE;width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">$&#160;0.3050&#160;&#160;</p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected stock price volatility</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;31.21%</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;31.67%</p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;29.87%</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Risk-free interest rate</p>
</td><td style="background-color:#D3F0FE;width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.23%</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.75%</p>
</td><td style="background-color:#D3F0FE;width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;4.09%</p>
</td></tr>
<tr><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Expected life of options</p>
</td><td style="width:18pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.8 years</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.6 years</p>
</td><td style="width:72.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">5.7 years</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Subparagraph (f)(2)<br> -Name Accounting Standards Codification<br> -Paragraph 2<br> -Section 50<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>75
<FILENAME>R56.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock', window );">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:399pt"><tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" style="width:203pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Outstanding</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:116pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Options Exercisable</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Remaining</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Weighted</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Range of</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Actual</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Contractual</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Average</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Life</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Number</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">Exercise</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td colspan="3" style="width:60pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Prices</span></p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Outstanding</span></p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">(Years)</span></p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Exercisable</span></p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">Price</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">64.09</p>
</td><td style="background-color:#D3F0FE;width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">29,575</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">8.49</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">63.15</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4,975</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="background-color:#D3F0FE;width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">74.64</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">77.07</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">48,310</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.39</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.60</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">34,210</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">76.41</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">20,100</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">7.78</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="background-color:#D3F0FE;width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">10,050</p>
</td><td style="background-color:#D3F0FE;width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">58.50</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:26pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">82.60</p>
</td><td style="width:4pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:63pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">97,985</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:79pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">7.31</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:45pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">73.77</p>
</td><td style="width:6pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">49,235</p>
</td><td style="width:10pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">$</p>
</td><td style="width:50pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">75.86</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:418pt"><tr style="height:7.2pt"><td style="width:226pt" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:226pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Exercised</p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$77 </p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$31 </p>
</td><td style="background-color:#D3F0FE;width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">$141 </p>
</td></tr>
<tr style="height:7.2pt"><td style="width:226pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Intrinsic Value of Stock Options Outstanding</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right">-</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">814</p>
</td><td style="width:48pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">1,812</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>76
<FILENAME>R57.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleOfGeographicInformationTextBlock', window );">Schedule Of Geographic Information</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:418.3pt"><tr style="height:7.2pt"><td style="width:223.2pt" valign="middle"></td><td style="width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#D3F0FE;width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">23,873</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">30,413</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:6pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">34,524</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Europe</p>
</td><td style="width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,705</kbd>&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,918</kbd>&#160;</p>
</td><td style="width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">7,214</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:223.2pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Other</p>
</td><td style="background-color:#D3F0FE;width:18.1pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">8,325</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">10,893</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:59pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt">10,543</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0"></p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleOfGeographicInformationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule of Geographic Information, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ScheduleOfGeographicInformationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>77
<FILENAME>R58.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock', window );">Schedule Of Long-Lived Assets By Geographic Area</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:325pt"><tr style="height:7.2pt"><td style="width:149pt" valign="middle"></td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">United States</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,124</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,462</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:5pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">14,875</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">England</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">11,445</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">13,838</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">15,184</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Ireland</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,827</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,963</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">2,954</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Australia</p>
</td><td style="width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">290</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">336</kbd>&#160;</p>
</td><td style="width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">337</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:149pt" valign="middle"><p style="font:10pt Times New Roman;margin:0">Canada</p>
</td><td style="background-color:#D3F0FE;width:8pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">523</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">589</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt">593</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the textual narrative disclosure of Schedule of Long-Lived Assets By Geographic Area, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>78
<FILENAME>R59.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock', window );">Schedule Of Global Revenues By Product Category</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt">Global revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td style="width:202.5pt" valign="top"></td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">4,260</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">4,592</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">4,661</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">20,707</kbd>&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">22,300</kbd>&#160;</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">21,841</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">6,869</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">6,863</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">7,567</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">9,067</kbd>&#160;</p>
</td><td style="width:45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">16,469</kbd>&#160;</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">18,212</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">40,903</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">50,224</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">52,281</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of Global Revenues by Product Category.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>79
<FILENAME>R60.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ScheduleofousrevenuesbyproductcategoryTextBlock', window );">Schedule Of OUS Revenues By Product Category</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">Included in the Global revenues (above) were OUS revenues by product category:</p>
<table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"><tr><td style="width:202.5pt" valign="top"></td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Obstetrics</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">821</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">1,041</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">676</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Gynecology/ Electrosurgery/ Urology</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">11,390</kbd>&#160;</p>
</td><td style="width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">11,992</kbd>&#160;</p>
</td><td style="width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">11,603</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Neonatal</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">1,523</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">1,678</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">1,517</kbd>&#160;</p>
</td></tr>
<tr><td style="width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Blood Pressure Monitoring and Accessories</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">3,724</kbd>&#160;</p>
</td><td style="width:45pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">7,309</kbd>&#160;</p>
</td><td style="width:49.5pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">6,514</kbd>&#160;</p>
</td></tr>
<tr><td style="background-color:#D3F0FE;width:202.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Total:</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">17,458</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:45pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt">22,020</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE;width:49.5pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt">$</kbd><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt">20,310</kbd>&#160;</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ScheduleofousrevenuesbyproductcategoryTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Schedule of OUS Revenues by Product Category.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ScheduleofousrevenuesbyproductcategoryTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>80
<FILENAME>R61.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock', window );">Reconciliation of operating lease liabilities</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:100%"><tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:12pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:15pt"><td style="background-color:#D3F0FE;width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease right-of-use assets</p>
</td><td style="background-color:#D3F0FE;width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338</p>
</td></tr>
<tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, current (included in Accrued Expenses)</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;56</p>
</td></tr>
<tr style="height:15pt"><td style="background-color:#D3F0FE;width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Operating lease liabilities, long-term</p>
</td><td style="background-color:#D3F0FE;width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;282</p>
</td></tr>
<tr style="height:15pt"><td style="width:74.62%" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Total operating lease liabilities</p>
</td><td style="width:25.38%" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Reconciliation of operating lease liabilities/ payments to operating lease liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>81
<FILENAME>R62.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Lessee, Operating Lease, Liability, to be Paid, Maturity</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0"></p>
<table style="border-collapse:collapse;width:481.5pt"><tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Maturities of operating lease liabilities at December 31, 2024 were as follows (<i>in thousands</i>):</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"><span style="border-bottom:1px solid #000000">As of December 31, 2024</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2025 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;55&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2026 (less imputed interest)</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;58&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2027 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;55&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2028 (less imputed interest)</p>
</td><td style="width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;44&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">2029 (less imputed interest)</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;46&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000">Thereafter (less imputed interest)</p>
</td><td style="width:121.5pt;border-bottom:1pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;80&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease payments</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;364&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Less: imputed interest</p>
</td><td style="width:121.5pt;border-bottom:3px double #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;&#160;(26)</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:360pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;color:#000000"> &#160;&#160;&#160;&#160;Total lease liabilities</p>
</td><td style="background-color:#D3F0FE;width:121.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;$&#160;338&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">&#160;</p>
<p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt">The following table provides information on the lease terms and discount rates:</p>
<table style="border-collapse:collapse;margin-left:5.65pt"><tr><td style="background-color:#D3F0FE;width:239.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average remaining lease term (in years)</p>
</td><td style="background-color:#D3F0FE;width:81pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">6.1</p>
</td></tr>
<tr><td style="width:239.4pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted-average discount rate</p>
</td><td style="width:81pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.3%</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>82
<FILENAME>R63.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Schedule of Earnings Per Share, Basic and Diluted</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin:0">The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:</p>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<table style="border-collapse:collapse;width:100%"><tr style="height:7.2pt"><td style="width:247.5pt" valign="top"></td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2024</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2023</span></p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right"><span style="border-bottom:1px solid #000000">2022</span></p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Numerator </b><i>(in thousands)</i></p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Net income</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">13,874</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,635</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">16,473</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><b>Denominator</b></p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Weighted average shares, basic</p>
</td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,503</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,629</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Dilutive effect of stock options</p>
</td><td style="background-color:#D3F0FE;width:76.5pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">-</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">8</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt;border-bottom:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">6</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Diluted shares</p>
</td><td style="width:76.5pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,503</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,637</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt;border-top:0.5pt solid #000000" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3,643</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, basic</p>
</td><td style="width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.96</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.58</p>
</td><td style="width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.53</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE;width:247.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0">Earnings per share, diluted</p>
</td><td style="background-color:#D3F0FE;width:76.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">3.96</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:67.5pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.57</p>
</td><td style="background-color:#D3F0FE;width:13.5pt" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:right">&#160;</p>
</td><td style="background-color:#D3F0FE;width:63.9pt" valign="middle"><p style="font:10pt Times New Roman;margin:0;text-align:right">4.52</p>
</td></tr>
</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>83
<FILENAME>R64.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)<br></strong></div></th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr><th class="th"><div>Dec. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TableTextBlockSupplementAbstract', window );"><strong>Tables/Schedules</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock', window );">Schedule of Segment Reporting Information, by Segment</a></td>
<td class="text"><p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt">&#160;</p>
<table style="border-collapse:collapse;width:428.05pt"><tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td colspan="5" valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>Year Ended December 31,</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"></td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2024</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2023</b></span></p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0;text-align:center"><span style="border-bottom:1px solid #000000"><b>2022</b></span></p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Revenues</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">40,903&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">50,224&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">52,281&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Less:</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Standard cost of sales</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,406&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">17,400&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,939&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other cost of sales</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,353&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,786&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,146&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">24,143&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">30,038&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">32,196&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Gross Profit Margin</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">59.0%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">59.8%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">61.6%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Sales &amp; Marketing</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,901&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,685&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,507&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Research &amp; Development</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">813&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">560&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">493&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Litigation Fees</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,139&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">1,660&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">670&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Amortization</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,030&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">5,661&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">6,386&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other General &amp; Administrative</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,666&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,695&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,350&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Operating Income</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,594&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,777&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">19,790&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Operating Income Margin</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">33.2%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">33.4%</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">37.9%</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other Income</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Interest income</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,367&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,036&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">661&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Other income (expense)</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">(159)&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">276&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">209&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Income before income taxes</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,802&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">20,089&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">20,659&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td valign="top"><p style="font:10pt Times New Roman;margin:0">Provision for income taxes</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">2,928&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">3,454&#160;&#160;</kbd>&#160;</p>
</td><td valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="width:56pt;border-bottom:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">4,186&#160;&#160;</kbd>&#160;</p>
</td></tr>
<tr style="height:7.2pt"><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">Net Income</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">13,874&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,635&#160;&#160;</kbd>&#160;</p>
</td><td style="background-color:#D3F0FE" valign="top"><p style="font:10pt Times New Roman;margin:0">&#160;</p>
</td><td style="background-color:#D3F0FE;width:56pt;border-top:0.5pt solid #000000" valign="top"><p style="font:10pt Times New Roman;margin:0"><kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt">16,473&#160;&#160;</kbd>&#160;</p>
</td></tr>
</table>
<p style="font:10pt Times New Roman;margin:0">&#160;</p>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 280<br> -SubTopic 10<br> -Section 50<br> -Paragraph 30<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TableTextBlockSupplementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TableTextBlockSupplementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>84
<FILENAME>R65.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">15 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember', window );">Building and Building Improvements | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">40 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">3 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember', window );">Equipment | Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentUsefulLife', window );">Property, Plant and Equipment, Useful Life</a></td>
<td class="text">10 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_BuildingAndBuildingImprovementsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentByTypeAxis=us-gaap_EquipmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>85
<FILENAME>R66.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD', window );">Foreign Currency Exchange Rate Translation GBP to USD</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1.2521<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD', window );">Foreign Currency Exchange Rate Translation AUD to USD</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.6183<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">Finite-Lived Intangible Asset, Expected Amortization, Year One</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,935<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Two</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">426<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Three</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">14<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Four</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive', window );">Finite-Lived Intangible Asset, Expected Amortization, Year Five</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">10<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember', window );">CooperSurgical Inc</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-Lived Intangible Assets Acquired</a></td>
<td class="nump">$ 21,000<span></span>
</td>
<td class="nump">$ 21,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">5 years<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife', window );">Finite-Lived Intangible Asset, Useful Life</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">20 years<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Foreign exchange rate used to translate amounts denominated in functional currency AUD to reporting currency USD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Foreign exchange rate used to translate amounts denominated in functional currency GBP to reporting currency USD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:pureItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetUsefulLife">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetUsefulLife</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>86
<FILENAME>R67.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 255<span></span>
</td>
<td class="nump">$ 225<span></span>
</td>
<td class="nump">$ 183<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>87
<FILENAME>R68.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserve', window );">Estimated Litigation Liability</a></td>
<td class="nump">$ 111<span></span>
</td>
<td class="nump">$ 257<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserve">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserve</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>88
<FILENAME>R69.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details) - shares<br> shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted Average Number of Shares Outstanding, Basic</a></td>
<td class="nump">3,503<span></span>
</td>
<td class="nump">3,629<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Weighted Average Number of Shares Outstanding, Diluted, Adjustment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Weighted Average Number of Shares Outstanding, Diluted</a></td>
<td class="nump">3,503<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,643<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>89
<FILENAME>R70.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableGrossCurrent', window );">Accounts Receivable, before Allowance for Credit Loss, Current</a></td>
<td class="nump">$ 4,239<span></span>
</td>
<td class="nump">$ 3,488<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_AccruedInterestAndOther', window );">Accrued interest and other</a></td>
<td class="num">(2)<span></span>
</td>
<td class="nump">53<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Accounts Receivable, Allowance for Credit Loss, Current</a></td>
<td class="num">(143)<span></span>
</td>
<td class="num">(151)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsAndOtherReceivablesNetCurrent', window );">Accounts and Other Receivables, Net, Current</a></td>
<td class="nump">4,094<span></span>
</td>
<td class="nump">3,390<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Inventory, Finished Goods, Net of Reserves</a></td>
<td class="nump">1,913<span></span>
</td>
<td class="nump">1,685<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcess', window );">Inventory, Work in Process, Gross</a></td>
<td class="nump">1,414<span></span>
</td>
<td class="nump">1,503<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterials', window );">Inventory, Raw Materials, Gross</a></td>
<td class="nump">5,485<span></span>
</td>
<td class="nump">6,394<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories (note 2)</a></td>
<td class="nump">8,812<span></span>
</td>
<td class="nump">9,582<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss', window );">Effect of foreign exchange</a></td>
<td class="num">(112)<span></span>
</td>
<td class="nump">338<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GoodwillImpairmentLoss', window );">Subtractions as a result of impairment</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Total Goodwill as of December 31</a></td>
<td class="nump">13,580<span></span>
</td>
<td class="nump">13,692<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedPatentsGross', window );">Finite-Lived Patents, Gross</a></td>
<td class="nump">2,210<span></span>
</td>
<td class="nump">2,209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedNoncompeteAgreementsGross', window );">Finite-Lived Noncompete Agreements, Gross</a></td>
<td class="nump">125<span></span>
</td>
<td class="nump">127<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedTrademarksGross', window );">Finite-Lived Trademarks, Gross</a></td>
<td class="nump">9,205<span></span>
</td>
<td class="nump">9,360<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedCustomerRelationshipsGross', window );">Finite-Lived Customer Relationships, Gross</a></td>
<td class="nump">8,952<span></span>
</td>
<td class="nump">9,108<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherFiniteLivedIntangibleAssetsGross', window );">Other Finite-Lived Intangible Assets, Gross</a></td>
<td class="nump">21,000<span></span>
</td>
<td class="nump">21,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">338<span></span>
</td>
<td class="nump">342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross', window );">Regulatory approvals &amp; product certifications</a></td>
<td class="nump">11,942<span></span>
</td>
<td class="nump">12,150<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsGross', window );">Other intangible assets (note 2)</a></td>
<td class="nump">53,772<span></span>
</td>
<td class="nump">54,296<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Other intangible assets - accumulated amortization</a></td>
<td class="num">(50,907)<span></span>
</td>
<td class="num">(49,350)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsNet', window );">Finite-Lived Intangible Assets, Net</a></td>
<td class="nump">2,865<span></span>
</td>
<td class="nump">4,946<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_AccruedIncomeTaxesPayableReceivable', window );">Accrued income taxes payable (receivable)</a></td>
<td class="num">(153)<span></span>
</td>
<td class="nump">327<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeRelatedLiabilitiesCurrent', window );">Employee-related Liabilities, Current</a></td>
<td class="nump">1,148<span></span>
</td>
<td class="nump">1,294<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LitigationReserveCurrent', window );">Estimated Litigation Liability, Current</a></td>
<td class="nump">111<span></span>
</td>
<td class="nump">257<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAccruedLiabilitiesCurrent', window );">Other</a></td>
<td class="nump">1,955<span></span>
</td>
<td class="nump">2,063<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued expenses (note 2)</a></td>
<td class="nump">$ 3,061<span></span>
</td>
<td class="nump">$ 3,941<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_AccruedIncomeTaxesPayableReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Accrued income taxes payable (receivable), as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_AccruedIncomeTaxesPayableReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_AccruedInterestAndOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Accrued interest and other, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_AccruedInterestAndOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsAndOtherReceivablesNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsAndOtherReceivablesNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableGrossCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(3)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableGrossCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeRelatedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeRelatedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedCustomerRelationshipsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before amortization, of finite-lived asset representing customer relationship acquired in business combination, asset acquisition, and from joint venture formation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedCustomerRelationshipsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480265/350-10-S45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 928<br> -SubTopic 340<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478859/928-340-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 926<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483154/926-20-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedNoncompeteAgreementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of payments made to third parties in exchange for their agreement not to engage in specified competitive practices in specified geographic territories for a specified period of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedNoncompeteAgreementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedPatentsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedPatentsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedTrademarksGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Gross carrying amount before accumulated amortization as of the balance sheet date for the rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style for a specified period of time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedTrademarksGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 49<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-49<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-1<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillImpairmentLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 820<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 100<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482078/820-10-55-100<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482598/350-20-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillImpairmentLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480581/330-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterials">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterials</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryWorkInProcess">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryWorkInProcess</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LitigationReserveCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 450<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483076/450-20-50-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LitigationReserveCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherFiniteLivedIntangibleAssetsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated amortization of finite-lived intangible assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherFiniteLivedIntangibleAssetsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>90
<FILENAME>R71.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details) - USD ($)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net Sales</a></td>
<td class="nump">$ 9,157<span></span>
</td>
<td class="nump">$ 10,005<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="nump">$ 11,340<span></span>
</td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 40,903<span></span>
</td>
<td class="nump">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross Profit</a></td>
<td class="nump">5,323<span></span>
</td>
<td class="nump">5,802<span></span>
</td>
<td class="nump">6,253<span></span>
</td>
<td class="nump">6,766<span></span>
</td>
<td class="nump">7,098<span></span>
</td>
<td class="nump">7,359<span></span>
</td>
<td class="nump">7,739<span></span>
</td>
<td class="nump">7,843<span></span>
</td>
<td class="nump">8,327<span></span>
</td>
<td class="nump">8,186<span></span>
</td>
<td class="nump">8,151<span></span>
</td>
<td class="nump">7,533<span></span>
</td>
<td class="nump">24,143<span></span>
</td>
<td class="nump">30,038<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net Income</a></td>
<td class="nump">$ 2,902<span></span>
</td>
<td class="nump">$ 3,563<span></span>
</td>
<td class="nump">$ 3,453<span></span>
</td>
<td class="nump">$ 3,956<span></span>
</td>
<td class="nump">$ 4,287<span></span>
</td>
<td class="nump">$ 3,935<span></span>
</td>
<td class="nump">$ 4,200<span></span>
</td>
<td class="nump">$ 4,214<span></span>
</td>
<td class="nump">$ 4,555<span></span>
</td>
<td class="nump">$ 4,280<span></span>
</td>
<td class="nump">$ 4,103<span></span>
</td>
<td class="nump">$ 3,534<span></span>
</td>
<td class="nump">$ 13,874<span></span>
</td>
<td class="nump">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per common share (diluted)</a></td>
<td class="nump">$ 0.86<span></span>
</td>
<td class="nump">$ 1.03<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.09<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.08<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 1.16<span></span>
</td>
<td class="nump">$ 1.25<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.12<span></span>
</td>
<td class="nump">$ 0.96<span></span>
</td>
<td class="nump">$ 3.96<span></span>
</td>
<td class="nump">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>91
<FILENAME>R72.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property, Plant and Equipment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,604<span></span>
</td>
<td class="nump">$ 1,638<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">13,539<span></span>
</td>
<td class="nump">13,907<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">18,527<span></span>
</td>
<td class="nump">17,315<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">19<span></span>
</td>
<td class="nump">1,413<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">33,689<span></span>
</td>
<td class="nump">34,273<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(23,926)<span></span>
</td>
<td class="num">(23,722)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">$ 9,763<span></span>
</td>
<td class="nump">$ 10,551<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>92
<FILENAME>R73.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">$ 1,604<span></span>
</td>
<td class="nump">$ 1,638<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">13,539<span></span>
</td>
<td class="nump">13,907<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">18,527<span></span>
</td>
<td class="nump">17,315<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">19<span></span>
</td>
<td class="nump">1,413<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">33,689<span></span>
</td>
<td class="nump">34,273<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(23,926)<span></span>
</td>
<td class="num">(23,722)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">9,763<span></span>
</td>
<td class="nump">10,551<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_USAndCanadaMember', window );">U.S. And Canada</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">621<span></span>
</td>
<td class="nump">621<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">6,576<span></span>
</td>
<td class="nump">6,584<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">15,842<span></span>
</td>
<td class="nump">15,075<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">19<span></span>
</td>
<td class="nump">913<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">23,058<span></span>
</td>
<td class="nump">23,193<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(18,930)<span></span>
</td>
<td class="num">(18,701)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">4,128<span></span>
</td>
<td class="nump">4,492<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_EnglandAndAustraliaMember', window );">England and Australia</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">627<span></span>
</td>
<td class="nump">637<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">3,101<span></span>
</td>
<td class="nump">3,194<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">710<span></span>
</td>
<td class="nump">732<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">3<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">4,438<span></span>
</td>
<td class="nump">4,566<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(1,587)<span></span>
</td>
<td class="num">(1,464)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">2,851<span></span>
</td>
<td class="nump">3,102<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_IE', window );">IRELAND</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Land', window );">Land</a></td>
<td class="nump">356<span></span>
</td>
<td class="nump">380<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BuildingsAndImprovementsGross', window );">Buildings and Improvements, Gross</a></td>
<td class="nump">3,862<span></span>
</td>
<td class="nump">4,129<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_MachineryAndEquipmentGross', window );">Machinery and Equipment, Gross</a></td>
<td class="nump">1,975<span></span>
</td>
<td class="nump">1,508<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ConstructionInProgressGross', window );">Construction in Progress, Gross</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">497<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentGross', window );">Property, Plant and Equipment, Gross</a></td>
<td class="nump">6,193<span></span>
</td>
<td class="nump">6,514<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</a></td>
<td class="num">(3,409)<span></span>
</td>
<td class="num">(3,557)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Property and equipment, net (notes 4 and 10)</a></td>
<td class="nump">$ 2,784<span></span>
</td>
<td class="nump">$ 2,957<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BuildingsAndImprovementsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BuildingsAndImprovementsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ConstructionInProgressGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ConstructionInProgressGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Land">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depletion of real estate held for productive use, excluding land held for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Land</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_MachineryAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MachineryAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 360<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-7A<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481372/852-10-55-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478451/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_USAndCanadaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=fil_USAndCanadaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_EnglandAndAustraliaMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=fil_EnglandAndAustraliaMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_IE">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_IE</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>93
<FILENAME>R74.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 5 - Long-term Debt (Details) - USD ($)<br></strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LongTermDebt', window );">Long-Term Debt</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LongTermDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 835<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482949/835-30-55-8<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69B<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69B<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 69C<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481568/470-20-55-69C<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1D<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-1D<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478777/944-210-S99-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481139/470-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LongTermDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>94
<FILENAME>R75.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 6 - Commitments and Contingencies (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LitigationExpense', window );">Litigation Expense</a></td>
<td class="nump">$ 2,139,000<span></span>
</td>
<td class="nump">$ 1,660,000<span></span>
</td>
<td class="nump">$ 670,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrual', window );">Standard and Extended Product Warranty Accrual</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LitigationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Litigation Expense, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LitigationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProductWarrantyAccrual">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(15)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478546/942-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 460<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)(5)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482425/460-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProductWarrantyAccrual</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>95
<FILENAME>R76.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsInventory', window );">Deferred Tax Assets, Inventory</a></td>
<td class="nump">$ 270<span></span>
</td>
<td class="nump">$ 110<span></span>
</td>
<td class="nump">$ 103<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts', window );">Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss</a></td>
<td class="nump">29<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="nump">39<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities', window );">Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities</a></td>
<td class="nump">50<span></span>
</td>
<td class="nump">90<span></span>
</td>
<td class="nump">90<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_DeferredTaxLiabilitiesDepreciationAndAmortization', window );">Deferred Tax Liabilities Depreciation and Amortization</a></td>
<td class="num">(1,451)<span></span>
</td>
<td class="num">(1,673)<span></span>
</td>
<td class="num">(2,295)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredTaxLiabilities', window );">Deferred Tax Liabilities, Net</a></td>
<td class="num">$ (1,102)<span></span>
</td>
<td class="num">$ (1,442)<span></span>
</td>
<td class="num">$ (2,063)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DeferredTaxLiabilitiesDepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_DeferredTaxLiabilitiesDepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredTaxLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredTaxLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>96
<FILENAME>R77.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CurrentIncomeTaxExpenseBenefit', window );">Current Income Tax Expense (Benefit)</a></td>
<td class="nump">$ 3,268<span></span>
</td>
<td class="nump">$ 4,075<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 4,632<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_DeferredIncomeTaxExpense', window );">Deferred Income Tax Expense</a></td>
<td class="num">(340)<span></span>
</td>
<td class="num">(621)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(446)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 2,928<span></span>
</td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="nump">$ 2,928<span></span>
</td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="nump">$ 4,186<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DeferredIncomeTaxExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_DeferredIncomeTaxExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CurrentIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CurrentIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>97
<FILENAME>R78.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate', window );">Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount</a></td>
<td class="nump">$ 2,794<span></span>
</td>
<td class="nump">$ 2,346<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,620<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes', window );">Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount</a></td>
<td class="nump">504<span></span>
</td>
<td class="nump">439<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">490<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential', window );">Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount</a></td>
<td class="num">(1)<span></span>
</td>
<td class="nump">951<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,129<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch', window );">Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount</a></td>
<td class="num">(18)<span></span>
</td>
<td class="num">(3)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeSecuritiesTaxExempt', window );">Interest Income, Securities, Operating, Tax Exempt</a></td>
<td class="num">(201)<span></span>
</td>
<td class="num">(195)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_AdjustmentToDeferredTaxLiability', window );">Adjustment To Deferred Tax Liability</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxReconciliationOtherAdjustments', window );">Effective Income Tax Rate Reconciliation, Other Adjustments, Amount</a></td>
<td class="num">(150)<span></span>
</td>
<td class="num">(84)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(50)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 2,928<span></span>
</td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="nump">$ 2,928<span></span>
</td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="nump">$ 4,186<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_AdjustmentToDeferredTaxLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_AdjustmentToDeferredTaxLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationOtherAdjustments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationOtherAdjustments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxReconciliationTaxCreditsResearch">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12A<br> -Subparagraph (b)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12A<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxReconciliationTaxCreditsResearch</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeSecuritiesTaxExempt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities exempt from state, federal and other income tax.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph a<br> -Publisher SEC<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Regulation S-K (SK)<br> -Number 229<br> -Section 1402<br> -Paragraph b<br> -Subparagraph (1)(Instruction 4)<br> -Publisher SEC<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeSecuritiesTaxExempt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>98
<FILENAME>R79.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic', window );">Income (Loss) from Continuing Operations before Income Taxes, Domestic</a></td>
<td class="nump">$ 13,306<span></span>
</td>
<td class="nump">$ 11,170<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 12,475<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign', window );">Income (Loss) from Continuing Operations before Income Taxes, Foreign</a></td>
<td class="nump">3,496<span></span>
</td>
<td class="nump">8,919<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,184<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">$ 16,802<span></span>
</td>
<td class="nump">$ 20,089<span></span>
</td>
<td class="nump">$ 16,802<span></span>
</td>
<td class="nump">$ 20,089<span></span>
</td>
<td class="nump">$ 20,659<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10A<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10A<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>99
<FILENAME>R80.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options (Details) - USD ($)<br> $ / shares in Units, shares in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized</a></td>
<td class="nump">275<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</a></td>
<td class="nump">98<span></span>
</td>
<td class="nump">84<span></span>
</td>
<td class="nump">67<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions', window );">Share-Based Payment Arrangement, Exercise of Option, Tax Benefit</a></td>
<td class="nump">$ 20,000<span></span>
</td>
<td class="nump">$ 12,000<span></span>
</td>
<td class="nump">$ 6,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllocatedShareBasedCompensationExpense', window );">Share-Based Payment Arrangement, Expense</a></td>
<td class="nump">$ 255,000<span></span>
</td>
<td class="nump">$ 225,000<span></span>
</td>
<td class="nump">$ 183,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value</a></td>
<td class="nump">$ 19.77<span></span>
</td>
<td class="nump">$ 25.09<span></span>
</td>
<td class="nump">$ 25.34<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount</a></td>
<td class="nump">$ 898,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months</a></td>
<td class="nump">$ 329,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition</a></td>
<td class="text">12 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years</a></td>
<td class="nump">$ 570<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition', window );">Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition</a></td>
<td class="text">4 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Unrecognized cost of unvested share-based compensation awards to be recognized over the next twelve months.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Next twelve months period over which unrecognized compensation is expected to be recognized for equity-based compensation plans.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllocatedShareBasedCompensationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 14.F)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479830/718-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (h)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllocatedShareBasedCompensationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cost not yet recognized for nonvested award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of tax benefit from exercise of option under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares authorized for issuance under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>100
<FILENAME>R81.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details) - $ / shares<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures</a></td>
<td class="nump">25,000<span></span>
</td>
<td class="nump">19,000<span></span>
</td>
<td class="nump">21,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period</a></td>
<td class="nump">3,000<span></span>
</td>
<td class="nump">400<span></span>
</td>
<td class="nump">2,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised</a></td>
<td class="nump">8,000<span></span>
</td>
<td class="nump">2,000<span></span>
</td>
<td class="nump">4,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number</a></td>
<td class="nump">98,000<span></span>
</td>
<td class="nump">84,000<span></span>
</td>
<td class="nump">67,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number</a></td>
<td class="nump">52,000<span></span>
</td>
<td class="nump">50,000<span></span>
</td>
<td class="nump">40,000<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MinimumMember', window );">Minimum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</a></td>
<td class="nump">$ 64.09<span></span>
</td>
<td class="nump">$ 77.07<span></span>
</td>
<td class="nump">$ 82.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired</a></td>
<td class="nump">49.18<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
<td class="nump">33.3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</a></td>
<td class="nump">49.18<span></span>
</td>
<td class="nump">49.18<span></span>
</td>
<td class="nump">33.3<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">58.5<span></span>
</td>
<td class="nump">49.18<span></span>
</td>
<td class="nump">33.3<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">58.5<span></span>
</td>
<td class="nump">49.18<span></span>
</td>
<td class="nump">33.3<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_RangeAxis=srt_MaximumMember', window );">Maximum</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price</a></td>
<td class="nump">64.09<span></span>
</td>
<td class="nump">77.07<span></span>
</td>
<td class="nump">82.6<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice', window );">Expired</a></td>
<td class="nump">82.6<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price</a></td>
<td class="nump">58.5<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">82.6<span></span>
</td>
<td class="nump">82.6<span></span>
</td>
<td class="nump">77.05<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="nump">$ 77.05<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of non-option equity instruments exercised by participants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Net number of share options (or share units) granted during the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which option holders acquired shares when converting their stock options into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(04)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(01)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MaximumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MaximumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>101
<FILENAME>R82.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details) - USD ($)<br></strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments</a></td>
<td class="nump">$ 0.315<span></span>
</td>
<td class="nump">$ 0.309<span></span>
</td>
<td class="nump">$ 0.305<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate</a></td>
<td class="nump">31.21%<span></span>
</td>
<td class="nump">31.67%<span></span>
</td>
<td class="nump">29.87%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate</a></td>
<td class="nump">4.23%<span></span>
</td>
<td class="nump">4.75%<span></span>
</td>
<td class="nump">4.09%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term</a></td>
<td class="text">5 years 9 months 18 days<span></span>
</td>
<td class="text">5 years 7 months 6 days<span></span>
</td>
<td class="text">5 years 8 months 12 days<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated amount of dividends to be paid to holders of the underlying shares (expected dividends) over the option's term. Dividends are taken into account because payment of dividends to shareholders reduces the fair value of the underlying shares, and option holders generally do not receive dividends.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The risk-free interest rate assumption that is used in valuing an option on its own shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(iv)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (f)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>102
<FILENAME>R83.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)<br> $ / shares in Units, $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($) </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Dec. 31, 2023 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2022 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value | $</a></td>
<td class="nump">$ 77<span></span>
</td>
<td class="nump">$ 31<span></span>
</td>
<td class="nump">$ 141<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue', window );">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value | $</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 814<span></span>
</td>
<td class="nump">$ 1,812<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_Range1Member', window );">Range 1</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">$ 58.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 64.09<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">29,575<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">8.49<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 63.15<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">4,975<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 58.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_Range2Member', window );">Range 2</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">74.64<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 77.07<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">48,310<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">6.39<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 76.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">34,210<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 76.41<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_Range3Member', window );">Range 3</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">82.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">20,100<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">7.78<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">10,050<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_Range4Member', window );">Range 4</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit</a></td>
<td class="nump">58.5<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit</a></td>
<td class="nump">$ 82.6<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding | shares</a></td>
<td class="nump">97,985<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_WeightedAverageRemainingContractualLifeYears', window );">Weighted Average Remaining Contractual Life (Years)</a></td>
<td class="nump">7.31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price</a></td>
<td class="nump">$ 73.77<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable | shares</a></td>
<td class="nump">49,235<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1', window );">Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price</a></td>
<td class="nump">$ 75.86<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_WeightedAverageRemainingContractualLifeYears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_WeightedAverageRemainingContractualLifeYears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (d)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=fil_Range1Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=fil_Range1Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=fil_Range2Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=fil_Range2Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=fil_Range3Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=fil_Range3Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=fil_Range4Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=fil_Range4Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>103
<FILENAME>R84.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 9 - Geographic Information: Schedule Of Geographic Information (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesInTheUnitedStates', window );">Company Sales in the United States</a></td>
<td class="nump">$ 23,873<span></span>
</td>
<td class="nump">$ 30,413<span></span>
</td>
<td class="nump">$ 34,524<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesInEurope', window );">Company Sales in Europe</a></td>
<td class="nump">8,705<span></span>
</td>
<td class="nump">8,918<span></span>
</td>
<td class="nump">7,214<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_CompanySalesOther', window );">Company Sales Other</a></td>
<td class="nump">$ 8,325<span></span>
</td>
<td class="nump">$ 10,893<span></span>
</td>
<td class="nump">$ 10,543<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CompanySalesInEurope">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales in Europe, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_CompanySalesInEurope</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CompanySalesInTheUnitedStates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales in the United States, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_CompanySalesInTheUnitedStates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_CompanySalesOther">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Company Sales Other, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_CompanySalesOther</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>104
<FILENAME>R85.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInTheUnitedStates', window );">Long-lived assets in the United States</a></td>
<td class="nump">$ 11,124<span></span>
</td>
<td class="nump">$ 11,462<span></span>
</td>
<td class="nump">$ 14,875<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInEngland', window );">Long-lived assets in England</a></td>
<td class="nump">11,445<span></span>
</td>
<td class="nump">13,838<span></span>
</td>
<td class="nump">15,184<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInIreland', window );">Long-lived assets in Ireland</a></td>
<td class="nump">2,827<span></span>
</td>
<td class="nump">2,963<span></span>
</td>
<td class="nump">2,954<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInAustralia', window );">Long-lived assets in Australia</a></td>
<td class="nump">290<span></span>
</td>
<td class="nump">336<span></span>
</td>
<td class="nump">337<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LongLivedAssetsInCanada', window );">Long-lived assets in Canada</a></td>
<td class="nump">$ 523<span></span>
</td>
<td class="nump">$ 589<span></span>
</td>
<td class="nump">$ 593<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInAustralia">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Australia, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LongLivedAssetsInAustralia</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInCanada">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Canada, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LongLivedAssetsInCanada</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInEngland">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in England, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LongLivedAssetsInEngland</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInIreland">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LongLivedAssetsInIreland</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LongLivedAssetsInTheUnitedStates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Long-lived assets in the United States, as of the indicated date.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LongLivedAssetsInTheUnitedStates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>105
<FILENAME>R86.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 9,157<span></span>
</td>
<td class="nump">$ 10,005<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="nump">$ 11,340<span></span>
</td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 40,903<span></span>
</td>
<td class="nump">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_GlobalMember', window );">Global</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,903<span></span>
</td>
<td class="nump">50,224<span></span>
</td>
<td class="nump">52,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_GlobalMember', window );">Global | Obstetrics</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,260<span></span>
</td>
<td class="nump">4,592<span></span>
</td>
<td class="nump">4,661<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_GlobalMember', window );">Global | Gynecology/Electrosurgery/Urology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">20,707<span></span>
</td>
<td class="nump">22,300<span></span>
</td>
<td class="nump">21,841<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_GlobalMember', window );">Global | Neonatal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">6,869<span></span>
</td>
<td class="nump">6,863<span></span>
</td>
<td class="nump">7,567<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_GlobalMember', window );">Global | Blood Pressure Monitoring and Accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,067<span></span>
</td>
<td class="nump">$ 16,469<span></span>
</td>
<td class="nump">$ 18,212<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_GlobalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=fil_GlobalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_ObstetricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_ObstetricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_GynecologyElectrosurgeryUrologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_GynecologyElectrosurgeryUrologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_NeonatalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_NeonatalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_BloodPressureMonitoringAndAccessoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_BloodPressureMonitoringAndAccessoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>106
<FILENAME>R87.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="nump">$ 9,157<span></span>
</td>
<td class="nump">$ 10,005<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="nump">$ 11,340<span></span>
</td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 40,903<span></span>
</td>
<td class="nump">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_OusMember', window );">OUS</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">17,458<span></span>
</td>
<td class="nump">22,020<span></span>
</td>
<td class="nump">20,310<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_OusMember', window );">OUS | Obstetrics</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">821<span></span>
</td>
<td class="nump">1,041<span></span>
</td>
<td class="nump">676<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_OusMember', window );">OUS | Gynecology/Electrosurgery/Urology</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11,390<span></span>
</td>
<td class="nump">11,992<span></span>
</td>
<td class="nump">11,603<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_OusMember', window );">OUS | Neonatal</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,523<span></span>
</td>
<td class="nump">1,678<span></span>
</td>
<td class="nump">1,517<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=fil_OusMember', window );">OUS | Blood Pressure Monitoring and Accessories</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,724<span></span>
</td>
<td class="nump">$ 7,309<span></span>
</td>
<td class="nump">$ 6,514<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=fil_OusMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=fil_OusMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_ObstetricsMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_ObstetricsMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_GynecologyElectrosurgeryUrologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_GynecologyElectrosurgeryUrologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_NeonatalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_NeonatalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=fil_BloodPressureMonitoringAndAccessoriesMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=fil_BloodPressureMonitoringAndAccessoriesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>107
<FILENAME>R88.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 12 - Product Sale and Purchase Commitments (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RoyaltyIncomeNonoperating', window );">Royalty income (note 12)</a></td>
<td class="nump">$ 15<span></span>
</td>
<td class="nump">$ 20<span></span>
</td>
<td class="nump">$ 20<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractualObligation', window );">Contractual Obligation</a></td>
<td class="nump">$ 3,747<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractualObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of contractual obligation, including, but not limited to, long-term debt, lease obligation, purchase obligation, and other commitments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractualObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RoyaltyIncomeNonoperating">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RoyaltyIncomeNonoperating</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>108
<FILENAME>R89.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 13 - Employee Benefit Plans (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount', window );">Defined Contribution Plan, Employer Discretionary Contribution Amount</a></td>
<td class="nump">$ 209<span></span>
</td>
<td class="nump">$ 184<span></span>
</td>
<td class="nump">$ 159<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of discretionary contributions made by an employer to a defined contribution plan.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>109
<FILENAME>R90.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 14 - Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LesseeOperatingLeaseForParkingLotTermOfContract', window );">Lessee Operating Lease for Parking Lot Term of Contract</a></td>
<td class="text">7 years<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LesseeOperatingLeaseForAutomobileTermOfContract', window );">Lessee Operating Lease for Automobile Term of Contract</a></td>
<td class="text">30 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI', window );">Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 87<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseCost', window );">Operating Lease, Cost</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 66<span></span>
</td>
<td class="nump">$ 65<span></span>
</td>
<td class="nump">$ 64<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LesseeOperatingLeaseForAutomobileTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LesseeOperatingLeaseForAutomobileTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LesseeOperatingLeaseForParkingLotTermOfContract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LesseeOperatingLeaseForParkingLotTermOfContract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseCost">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseCost</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>110
<FILENAME>R91.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 14 - Leases: Reconciliation of operating lease liabilities (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Operating Lease, Right-of-Use Asset</a></td>
<td class="nump">$ 338<span></span>
</td>
<td class="nump">$ 342<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Operating Lease, Liability, Current</a></td>
<td class="nump">56<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Operating Lease, Liability, Noncurrent</a></td>
<td class="nump">282<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">$ 338<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>111
<FILENAME>R92.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)<br> $ in Thousands</strong></div></th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">Lessee, Operating Lease, Liability, to be Paid, Year One</a></td>
<td class="nump">$ 55<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">Lessee, Operating Lease, Liability, to be Paid, Year Two</a></td>
<td class="nump">58<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree', window );">Lessee, Operating Lease, Liability, to be Paid, Year Three</a></td>
<td class="nump">55<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour', window );">Lessee, Operating Lease, Liability, to be Paid, Year Four</a></td>
<td class="nump">44<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive', window );">Lessee, Operating Lease, Liability, to be Paid, Year Five</a></td>
<td class="nump">46<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive', window );">Lessee, Operating Lease, Liability, to be Paid, after Year Five</a></td>
<td class="nump">80<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Lessee, Operating Lease, Liability, to be Paid</a></td>
<td class="nump">364<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Lessee, Operating Lease, Liability, Undiscounted Excess Amount</a></td>
<td class="num">(26)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Operating Lease, Liability</a></td>
<td class="nump">$ 338<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Operating Lease, Weighted Average Remaining Lease Term</a></td>
<td class="text">6 years 1 month 6 days<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Operating Lease, Weighted Average Discount Rate, Percent</a></td>
<td class="nump">4.30%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>112
<FILENAME>R93.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 15 - CSI Distribution Agreement Purchase Disclosure (Details) - CooperSurgical Inc<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Mar. 31, 2019 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FinitelivedIntangibleAssetsAcquired1', window );">Finite-Lived Intangible Assets Acquired</a></td>
<td class="nump">$ 21,000<span></span>
</td>
<td class="nump">$ 21,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem', window );">Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.75<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:decimalItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FinitelivedIntangibleAssetsAcquired1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FinitelivedIntangibleAssetsAcquired1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_DistributionRightsAcquisitionAxis=fil_CoopersurgicalIncMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>113
<FILENAME>R94.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TextBlockAbstract', window );"><strong>Details</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="nump">$ 2,902<span></span>
</td>
<td class="nump">$ 3,563<span></span>
</td>
<td class="nump">$ 3,453<span></span>
</td>
<td class="nump">$ 3,956<span></span>
</td>
<td class="nump">$ 4,287<span></span>
</td>
<td class="nump">$ 3,935<span></span>
</td>
<td class="nump">$ 4,200<span></span>
</td>
<td class="nump">$ 4,214<span></span>
</td>
<td class="nump">$ 4,555<span></span>
</td>
<td class="nump">$ 4,280<span></span>
</td>
<td class="nump">$ 4,103<span></span>
</td>
<td class="nump">$ 3,534<span></span>
</td>
<td class="nump">$ 13,874<span></span>
</td>
<td class="nump">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Weighted average shares, basic</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,503<span></span>
</td>
<td class="nump">3,629<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment', window );">Dilutive effect of stock options</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">8<span></span>
</td>
<td class="nump">6<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted shares</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,503<span></span>
</td>
<td class="nump">3,637<span></span>
</td>
<td class="nump">3,643<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Earnings per common share (basic) (note 1)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3.96<span></span>
</td>
<td class="nump">$ 4.58<span></span>
</td>
<td class="nump">$ 4.53<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Earnings per common share (diluted)</a></td>
<td class="nump">$ 0.86<span></span>
</td>
<td class="nump">$ 1.03<span></span>
</td>
<td class="nump">$ 0.98<span></span>
</td>
<td class="nump">$ 1.09<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.08<span></span>
</td>
<td class="nump">$ 1.15<span></span>
</td>
<td class="nump">$ 1.16<span></span>
</td>
<td class="nump">$ 1.25<span></span>
</td>
<td class="nump">$ 1.18<span></span>
</td>
<td class="nump">$ 1.12<span></span>
</td>
<td class="nump">$ 0.96<span></span>
</td>
<td class="nump">$ 3.96<span></span>
</td>
<td class="nump">$ 4.57<span></span>
</td>
<td class="nump">$ 4.52<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-52<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482635/260-10-55-15<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-7<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-60B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-4<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TextBlockAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TextBlockAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>114
<FILENAME>R95.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.25.1</span><table class="report" border="0" cellspacing="2" id="id2">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
<th class="th" colspan="12">3 Months Ended</th>
<th class="th" colspan="3">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Sep. 30, 2024</div></th>
<th class="th"><div>Jun. 30, 2024</div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Sep. 30, 2023</div></th>
<th class="th"><div>Jun. 30, 2023</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
<th class="th"><div>Sep. 30, 2022</div></th>
<th class="th"><div>Jun. 30, 2022</div></th>
<th class="th"><div>Mar. 31, 2022</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2022</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 9,157<span></span>
</td>
<td class="nump">$ 10,005<span></span>
</td>
<td class="nump">$ 10,400<span></span>
</td>
<td class="nump">$ 11,340<span></span>
</td>
<td class="nump">$ 12,333<span></span>
</td>
<td class="nump">$ 12,505<span></span>
</td>
<td class="nump">$ 12,866<span></span>
</td>
<td class="nump">$ 12,520<span></span>
</td>
<td class="nump">$ 13,575<span></span>
</td>
<td class="nump">$ 12,955<span></span>
</td>
<td class="nump">$ 13,428<span></span>
</td>
<td class="nump">$ 12,323<span></span>
</td>
<td class="nump">$ 40,903<span></span>
</td>
<td class="nump">$ 50,224<span></span>
</td>
<td class="nump">$ 52,281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">5,323<span></span>
</td>
<td class="nump">5,802<span></span>
</td>
<td class="nump">6,253<span></span>
</td>
<td class="nump">6,766<span></span>
</td>
<td class="nump">7,098<span></span>
</td>
<td class="nump">7,359<span></span>
</td>
<td class="nump">7,739<span></span>
</td>
<td class="nump">7,843<span></span>
</td>
<td class="nump">8,327<span></span>
</td>
<td class="nump">8,186<span></span>
</td>
<td class="nump">8,151<span></span>
</td>
<td class="nump">7,533<span></span>
</td>
<td class="nump">24,143<span></span>
</td>
<td class="nump">30,038<span></span>
</td>
<td class="nump">32,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,901<span></span>
</td>
<td class="nump">1,685<span></span>
</td>
<td class="nump">1,507<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">813<span></span>
</td>
<td class="nump">560<span></span>
</td>
<td class="nump">493<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LitigationExpense', window );">Litigation Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,139<span></span>
</td>
<td class="nump">1,660<span></span>
</td>
<td class="nump">670<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,065<span></span>
</td>
<td class="nump">5,692<span></span>
</td>
<td class="nump">6,417<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,594<span></span>
</td>
<td class="nump">16,777<span></span>
</td>
<td class="nump">19,790<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInterestAndDividendIncome', window );">Dividend and interest income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,367<span></span>
</td>
<td class="nump">3,036<span></span>
</td>
<td class="nump">661<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="nump">$ 16,802<span></span>
</td>
<td class="nump">$ 20,089<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,802<span></span>
</td>
<td class="nump">20,089<span></span>
</td>
<td class="nump">20,659<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="nump">$ 2,928<span></span>
</td>
<td class="nump">$ 3,454<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,928<span></span>
</td>
<td class="nump">3,454<span></span>
</td>
<td class="nump">4,186<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,902<span></span>
</td>
<td class="nump">$ 3,563<span></span>
</td>
<td class="nump">$ 3,453<span></span>
</td>
<td class="nump">$ 3,956<span></span>
</td>
<td class="nump">$ 4,287<span></span>
</td>
<td class="nump">$ 3,935<span></span>
</td>
<td class="nump">$ 4,200<span></span>
</td>
<td class="nump">$ 4,214<span></span>
</td>
<td class="nump">$ 4,555<span></span>
</td>
<td class="nump">$ 4,280<span></span>
</td>
<td class="nump">$ 4,103<span></span>
</td>
<td class="nump">$ 3,534<span></span>
</td>
<td class="nump">13,874<span></span>
</td>
<td class="nump">16,635<span></span>
</td>
<td class="nump">16,473<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=fil_SingleOperatingSegmentMember', window );">Single Operating Segment</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Sales, net (notes 1, 3, 9 and 11)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">40,903<span></span>
</td>
<td class="nump">50,224<span></span>
</td>
<td class="nump">52,281<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_StandardCostOfSales', window );">Standard cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">13,406<span></span>
</td>
<td class="nump">17,400<span></span>
</td>
<td class="nump">16,939<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_OtherCostOfSales', window );">Other cost of sales</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,353<span></span>
</td>
<td class="nump">2,786<span></span>
</td>
<td class="nump">3,146<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 24,143<span></span>
</td>
<td class="nump">$ 30,038<span></span>
</td>
<td class="nump">$ 32,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_GrossProfitMargin', window );">Gross Profit Margin</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">59.00%<span></span>
</td>
<td class="nump">59.80%<span></span>
</td>
<td class="nump">61.60%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Sales and marketing</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,901<span></span>
</td>
<td class="nump">$ 1,685<span></span>
</td>
<td class="nump">$ 1,507<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Research and development</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">813<span></span>
</td>
<td class="nump">560<span></span>
</td>
<td class="nump">493<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_LitigationExpense', window );">Litigation Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,139<span></span>
</td>
<td class="nump">1,660<span></span>
</td>
<td class="nump">670<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,030<span></span>
</td>
<td class="nump">5,661<span></span>
</td>
<td class="nump">6,386<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense', window );">Other Selling, General and Administrative Expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,666<span></span>
</td>
<td class="nump">3,695<span></span>
</td>
<td class="nump">3,350<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,594<span></span>
</td>
<td class="nump">$ 16,777<span></span>
</td>
<td class="nump">$ 19,790<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_fil_OperatingIncomeMargin', window );">Operating Income Margin</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">33.20%<span></span>
</td>
<td class="nump">33.40%<span></span>
</td>
<td class="nump">37.90%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherInterestAndDividendIncome', window );">Dividend and interest income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,367<span></span>
</td>
<td class="nump">$ 3,036<span></span>
</td>
<td class="nump">$ 661<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherOperatingIncomeExpenseNet', window );">Other Operating Income (Expense), Net</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(159)<span></span>
</td>
<td class="nump">276<span></span>
</td>
<td class="nump">209<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">Income before provision for income taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">16,802<span></span>
</td>
<td class="nump">20,089<span></span>
</td>
<td class="nump">20,659<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Provision for income taxes (note 7)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,928<span></span>
</td>
<td class="nump">3,454<span></span>
</td>
<td class="nump">4,186<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ProfitLoss', window );">Net income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 13,874<span></span>
</td>
<td class="nump">$ 16,635<span></span>
</td>
<td class="nump">$ 16,473<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_GrossProfitMargin">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage value of Gross Profit Margin, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_GrossProfitMargin</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_LitigationExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Litigation Expense, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_LitigationExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_OperatingIncomeMargin">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the percentage value of Operating Income Margin, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_OperatingIncomeMargin</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_OtherCostOfSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Other cost of sales, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_OtherCostOfSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_fil_StandardCostOfSales">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the monetary amount of Standard cost of sales, during the indicated time period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">fil_StandardCostOfSales</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>fil_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AmortizationOfIntangibleAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482640/350-30-55-40<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482665/350-30-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482686/350-30-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AmortizationOfIntangibleAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-12<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 231<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482663/740-10-55-231<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479360/740-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482685/740-10-50-10<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482659/740-20-45-2<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-31<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherInterestAndDividendIncome">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478524/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherInterestAndDividendIncome</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherOperatingIncomeExpenseNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherOperatingIncomeExpenseNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherSellingGeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of selling, general and administrative expense classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherSellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ProfitLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-6<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 805<br> -SubTopic 60<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147476176/805-60-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 323<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478666/740-323-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480175/815-40-65-1<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483443/250-10-50-8<br><br>Reference 11: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479168/946-830-55-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 205<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147478009/946-205-45-3<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479105/946-220-45-7<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477250/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479134/946-220-S99-3<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 19<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481231/810-10-45-19<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482765/220-10-50-6<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-1<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147483499/205-20-50-7<br><br>Reference 31: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4J<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4J<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 4K<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481175/810-10-55-4K<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1A<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482790/220-10-45-1B<br><br>Reference 35: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482740/230-10-45-2<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1A<br> -Subparagraph (c)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481203/810-10-50-1A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ProfitLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 48<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482785/280-10-55-48<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 985<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147481283/985-20-50-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482916/730-10-50-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479532/912-730-25-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 270<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (ee)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/otherTransitionRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=fil_SingleOperatingSegmentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=fil_SingleOperatingSegmentMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>115
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( *>)>EI&QTU(E0   ,T    0    9&]C4')O<',O87!P+GAM
M;$W/30O", P&X+]2=K>9BAZD#D0]BIZ\SRYUA;8I;83Z[^T$/VYY><@;HBZ)
M(B:VF$7Q+N1M,S+'#4#6(_H^R\JABJ'D>ZXQW8&,L1H/I!\> \.B;=> A3$,
M.,SBM[#IU"Y&9W7/ED)WLCI1)L/B6#0ZL2<?J]P<"A#G>B4^BQ-+.9<K!?^+
M4\L54Y[FRF_\9 6_![H74$L#!!0    ( *>)>EITW9'M\0   "L"   1
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
M)O23["M;RR#15DB65V",($^+\DT?JCJ< )"G'F!7 /LYP'T!X%0 YSF@_0+
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
MAE3(P4B%@/ P@"6!1H*IA^5T8%"!C,2 MNYBF>(4 G,*+ E@2:B1=&UJ*8%
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
M5&)+AJ[9M0&,V2\@,VT$&NE!W-)#K4;*V+0.;]4D4)$L2D6U.GZ= ,5AMD0
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
M^O& ^NP4Y*]:5]P<O.6 2MD"DA<MG.^H)L=)A6JUP-,E'L,_*K<U ESR.AM
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
M$?7X(]W;-YX&X/NE Y"*#T0@_W;HS?\#4$L#!!0    ( *>)>EK4MYS@<00
M +()   9    >&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;*U66V_;-A3^*P=J
M$22 ').49$N)8R"7=LNP9D'2KL^T1-M$)5(CJ3C9K]\AI=@ND!IYV(-(BCR7
M[US)V4:;'W8MA(/GIE;V(EH[UYZ-Q[9<BX;;4]T*A2=+;1KN\->LQK8U@E>!
MJ:G'C)#)N.%21?-9V+LW\YGN7"V5N#=@NZ;AYN5*U'IS$='H=>-!KM;.;XSG
MLY:OQ*-PW]I[@W_CK91*-D)9J148L;R(+NG95>KI \'?4FSLWAJ\)0NM?_B?
MV^HB(AZ0J$7IO 2.TY.X%G7M!2&,?P:9T5:E9]Q?OTK_'&Q'6Q;<BFM=?Y>5
M6U]$>0256/*N=@]Z\[L8[,F\O%+7-HRPZ6DS$D'96:>;@1D1-%+U,W\>_+#'
MD/^*@0T,+.#N%064-]SQ^<SH#1A/C=+\(I@:N!&<5#XHC\[@J40^-[_33@"#
M$=P(QV4->@G7PN!2P16ON2H%/(;DN"Q+W2EG9V.':CWSN!Q47/4JV"]44 9?
MM')K"Y]4):J?!8P1[Q8T>P5]Q0Y*O!'E*20T!D98>D!>LG5"$N0E!YSPIF$]
M6_HVFZ^7,]OR4EQ$6!!6F"<1S8\^T DY/P JW8)*#TG_?R)S4,7;!@QZCS[D
MC-+S=VM'PE(T"V&V@?%#LCOGJ@+MUDA@D%(^\44M[-GN?+<+'R&-65+@G,1I
MGGL:TXD*I'("<;H]6<?L!+($_A06-=388@(T;%90Z6[AEEV-A3]H.*9I<H)C
M1D_@JW9\[^A-< $'*=* (RD(W*HGH9PVT@/_+)7$NJN@-;KJ2N?):5S0),R3
M/(/OV(]&4HV0H/3X:)S2%,>,)/# -UC&:([DM84,S<Q@@DK2 9G<J4)Y>9QC
M%7V$(LYR!K]I76UD79]M0\&M#] ?7'786(%Z!$D\*5B_2+(4/BV7V <]%?H&
M6Y4"\5RNN5H)= A%)R9)#H_H,<-#N[1>)D=O6&QOGDTV+9<&V['#E!P-*%^1
M# #V4J#7G.5DA^6OX-_;"D7(I0R!OE4.(4B_O+16.'3K/3I%!6>RF%'2SZ2
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
M?R*^28_J CB?NK3M&+_-.?1JC(Y"M/UQ'0[[ O[ZY>-YOQ&2Q0[ZD&O \HV
MG>'8!SP0;4W=&=ZXM=$GCO?U&G%F[H "6J\A@H 2'(P?HQ%*73-#C3,*3JQ(
MK#WQCZM21[ 9B ^V^1S? < R+)QZ20HN*U>P1C"%1XS/E[,7L++-[!2:NC:)
M*[CS6AC<[JU=X\7SQ?X+4>49Q@?IJND=RA[<\W,BSC.M<1 #H)WU!&8H@<B8
M:S/EKV8 QD"L-A@G@LMB0!C);BT'S8)_!!R2P5G)310 7& 2Y8+/L&0PN&*A
MV[J^#GB7G>GYW'.(N/0TC"?6!\:LO08']@25?-UM_2&8'0Z I]>ZH(Q,B+I*
M59]+N2VU*H5$JQA]22 C;A*E&I][ .3=V-@E) Q*F1>+[Z!"*L9,6YX!]_P"
M<7C-][@$',\/9/N6,";B#%$47$!IWTJS!;^PA=R^J:F&*)21NLK,E(BG\Q[>
M #VZ@01G<3B^.^@X)EWU!3=FK'\ IY4\YXJ4"]Q9J%H!^/[>PAFXO[B<8.H,
M%'9_$*Z(>%I<.W.-$%'N1K:AT7=@EIGY5$X!,G_5)"(% +G2^CF;@\Y]AAD(
MCL+<4:CV?BQ45"2P"KI&28A5$W"1"('G(\*ST8 )Z8;'9LK\!VU0_L3,50^.
M):[T*:' 9X>=TVA#)8/XX>C.1IO.I[KC*LCCKI#VWCC*,8:<J!1"$S''*)<2
MW?-F1[T&$3%KHU5^F[@S6W2%J+B2N5IJR*M4Z%CT#75S._=#\E<A2; _-/+V
MMFTF#UT<ISMW^HK\)GVY\.B$Q7R]'U:'CZ.W^9O@]GC^LOHH_88[V= :HK/)
MJY>C?+?J7Z*KTQ?"RD5\;Z3'$A]XY/D ]M>8//T+&Q@^&4__!U!+ P04
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
M12_Y-BJC(%GG^^S#AA=K;"*+D]3<P0L4?.?2ZI(]NBRZUQ*>>B M]DL0!+9
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
MUWS3V!NU_8I#/A/'5ZC&^!6VO6_* B@VQJIV )."5LA^YT_#=]@!S.)W &P
M,*^[#^15GG/+\X566]#.F]B<X5/U:!(GI"O*K=7T*@AG\V_*(AS#)_B"JM*\
MJT4!E[(O-GVU160IB'.-BH%PU1.R=P@3!E=*VMK A2RQ_)L@(G6C1/8B<<7V
M,IYC<0AI$@*+6;:'+QU33CU?NB=E\U9B/2Q[&^:Z8VXZ7N RH-_?H'[$(#_X
MD!S%)WM$9:.H;!_[_]3AGP@//LQ8DIR\0PL_:H0SU79</D/-2S"\00-"@J6'
MM6JH9X6LH'I%<VI]XQNA!-7[];\I:A]K>F*@4!MI]3.H-92J%85H<.ZKYY;4
M+0SNI+!$<6LY50,^ DO#V30E(XW#+/%&%DX(<K'1-()@%D[C":W'R0RF(4LR
M^$ZQ-=VD; ))',Z.4[=-LO2M<D0[+4)2*S\(!J5]MXRWXZPY[5OLU;T?5%=<
M5T(::'!-T/AP.@E ]\W?'ZSJ?,/=*TO?Q9LUS4O4SH'>UXIJ,QQ<@'$"YW\
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
M;$#[I:-6&R:<8'R%-W\#4$L#!!0    ( *>)>EJPVOX6S (  #8&   9
M>&PO=V]R:W-H965T<R]S:&5E=#(Q+GAM;)U5;4_;,!#^*Z> T"9US5N! FTE
M6IB&)J8*QO;93:Z-A6-GMDO)O]_924.12C7M2W*V[WGN.>?N,MHH_6P*1 NO
MI9!F'!365I=A:+("2V;ZJD)))TNE2V9IJ5>AJ32RW(-*$291=!:6C,M@,O)[
M<ST9J;457.)<@UF7)=/U%(7:C(,XV&X\\%5AW48X&55LA8]HGZJYIE78L>2\
M1&FXDJ!Q.0ZNX\OIP/E[AU\<-V;'!I?)0JEGM[C+QT'D!*' S#H&1J\7G*$0
MCHAD_&DY@RZD ^[:6_:O/G?*9<$,SI3XS7-;C(-A #DNV5K8![7YAFT^IXXO
M4\+X)VP:WS0-(%L;J\H63 I*+ILW>VWO80<PC#X )"T@\;J;0%[E#;-L,M)J
M ]IY$YLS?*H>3>*X=!_ET6HZY82SDQ_*(L0I?(';LA*J1H0I2EQR"W/!I!F%
MEJ(XWS!K&:<-8_(!8YS O9*V,' K<\S?$X0DK].8;#5.DX.,-YCU(8U[D$3)
MX !?VN6<>K[T0,Y[$VM@@_TPUQZ7IF(9C@.J?X/Z!8/)R5%\%ET=$#7H1 T.
ML?_7A_@WQI.C81+'5Q_PPL\"8:;*BLD:3*6D4=H @XR^H>:+M56ZAD$4?WK^
M#(:]<+DR4!$0:"# 4_^Q#]CRFAXPF;\':K1<(S6Q]2#C47<:R<Y[\/2]!]=4
MXYH)SCQXQB3+V1ME?U>>3^3\RE#]VZP@)6^Q7(-S0^UH45.78$YL<LV$J&%1
M@R6.A6(Z![6$G 1E)(ZXMVGOTAC8H$9@5:75*Z=(2!S'2731@^-X./ JC^/3
M"Y^)(ZZ1T86AJW6@2L5R@;JK5O],/8B,I$<78BKTDTC4_7UE$^[T<HEZY2>6
M(8EK:9NV[G:[H7C=S((W]V:BWC.]XI20P"5!H_[Y:0"ZF5+-PJK*3X:%LC1G
MO%G08$?M'.A\J:B$VH4+T/TJ)G\!4$L#!!0    ( *>)>EJ6B<-7J00  (4+
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(R+GAM;)5666_C-A#^*P-MND@
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
MG86._#$J3#KN5<L=O\$]CN&K5JZP\$6EF#XG"$EHKS;>J5W%[S)>8#*"R7@
M<11/W^&;]-%//-_DG>A?#:R%35^'\8=R:FN1X#R@+\&BN<=@\?'#^"@Z>T?4
MM!<U?8_]#TORW[@_?CB)Q^.SWWJ *P7?]#U6&S2<],D 7(%P*950B13E/G+M
MA$J%22VL-#W@@)W$T=GE<KWRP_'9)Y#6-IB^#KNK4T'R=KCE^JZ'L>MA=#R
M->8LC(37VGC\P:VN90+Q2?3I%*ZJVK!<K]WISDQL2NR1%](FI;8-%8ZCHY;Z
M)3H2W M=WW7./P_(/-$5PJUX(&SG]WCZFM\GRWU_ ]@6,BEH,_O92/9?-YN2
M. @EG>3WO$_Q3S646]IM)*T1'9/+%"'MN4!G8&M,9$;XA-*6:T,,()4/P7 B
M#2::JE1*P1O@ (2%+6U__'Q.)%NUSL=5"YGR>Y'G!G/B26'S"/\T1MI4^JUT
MM)\52A1@EJ'?78%."<B(F]0_HC 6-IA+I;A.(G.4Y3[=X\/V*Z:<2%< &9>/
M(%)=^\VZ1E-)1[Y'<$OAG.NJ%NJ1?26-,90O,L9[43;"]P"'+,DD<1Q.RT++
MR[OU3N;H92=/WZSU=!A-^EI3=SI?UN%3Q[$:@P6?3!1R:SC\\D#GI$4N]RYS
M',A^MQVLFXUKFS6.AKYO7EB3^)=^H2.F1FC;AA6\Z!MND:ZB2-&GDLFH!%*U
MI[8__C9T)#^U#'9R?VT=Q7LB,_(DZS]TNQ-DNR:5BNHI*QJFSQIVM)_'/^R.
MHX&G9]S.'76&U.GOH<?_:V,]13AZ;<</]P[D"DWNKQWD@O>\]FSN5_N;S;(]
MT)_,VVO15V$H4 LE9@2-1L>' 9CVJM%.J*/\\;[1CBX+?EC0[0P-&]#[3%-!
MNPD[Z.][BW\!4$L#!!0    ( *>)>EJ%6'Y<T@(  '0&   9    >&PO=V]R
M:W-H965T<R]S:&5E=#(W+GAM;)55VU+;,!#]E1W#\$3C2Q+*)<D, 3KM QT&
M>GE6['6LB2Y&DF/X^Z[DQ U#R+0ONJQVSYY=2\>35IN5K1 =O$BA[#2JG*LO
MX]CF%4IF![I&12>E-I(YVIIE;&N#K A!4L19DIS%DG$5S2;!]F!F$]TXP14^
M&+"-E,R\SE'H=AJET=;PR)>5\X9X-JG9$I_0_:P?#.WB'J7@$I7E6H'!<AI=
MIY?SD?</#K\XMG9G#;Z2A=8KO_E63*/$$T*!N?,(C*8UWJ 0'HAH/&\PHSZE
M#]Q=;]&_A-JIE@6S>*/%;UZX:AJ=1U!@R1KA'G7[%3?UC#U>KH4-([2=;T;.
M>6.=EIM@8B"YZF;VLNG#3L!Y\D% M@G( N\N46!YRQR;38QNP7AO0O.+4&J(
M)G)<^8_RY R=<HISL^_:(:07\ F>FH7%YP:5@[LUC782.TK@W>)\ S;OP+(/
MP-(,[K5RE84[56#Q%B F9CV];$MOGAU$O,5\ ,/T%+(D&QW &_;E#@/>\$"Y
M>POKPD;[P_S+N+0URW$:T=6W:-88S4Z.TK/DZ@"I44]J= C]?[_!OX&=')UG
M:7KU'A)^5 @W6M9,O0*NF6B8PP(XG5"W42[0]!V'DBNF<LX$6$=N,@"0%- C
M[F&Q@W65T<VRHAFA(-^PV!O?HD'@UC98#-ZPX1:4=L!:1@ZZ!&][GZBM>%[1
M8V]$0;+PW'!R-ICKI>+AH1.[@MM<:-OX/.I#(@.X+AU5^[[L;2WWS%"J;!S,
M-+H=LI(5"*PH0E+"-5@WY$T*83WW\?!T.$K 5E1+,/@&TW/.5UM*7E@)Q:Q(
M>GU+CX>GZ=G%*3#J ,G5&@VI(M2&YZ$9Q^.+P2B%FG@&T,&^FQ?O*(%$LPQZ
M9R'7C7*=*/367E*O.R7YZ][I,=6^Y,J"P))"D\'G<02FT[ANXW0==&6A':E4
M6%;T6T#C'>B\U'05-QN?H/_1S/X 4$L#!!0    ( *>)>EKYKG!]2 ,  ,@'
M   9    >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;*55;6_;. S^*X(''';
M+D[<;#=T28!T+]@^= B6]>ZS8M,V45GR)#II__U(V7$R("UVN"^):)$/GX>4
MJ,7!^?M0 Y!Z:(P-RZ0F:J_3-.0U-#I,7 N6=TKG&TUL^BH-K0==Q*#&I-ET
M^B9M--IDM8C?-GZU<!T9M+#Q*G1-H_WC#1AW6":SY/CA&U8UR8=TM6AU!5N@
MNW;CV4I'E (;L &=51[*9;*>7=_,Q3\Z_(-P"&=K)4IVSMV+\:58)E,A! 9R
M$@3-?WMX#\8($-/X,6 F8TH)/%\?T3]%[:QEIP.\=^9?+*A>)F\354"I.T/?
MW.$S#'I>"U[N3(B_ZC#X3A.5=X%<,P0S@P9M_Z\?ACK\3D V!&21=Y\HLOR@
M2:\6WAV4%V]&DT64&J.9'%IIRI8\[R+'T>JK(U S]9?:]EU1KE1;K"R6F&M+
M:IWGKK.$ME(;9S!'"-?J+H#X?0R$7!<("JWZ7H/:>&BUU['<O/\)K;8Y:J.V
MQ&[<2@KJY1'FST5*+$!HI/E ]J8GFSU!=I:I6V>I#NJC+:#X%2!EY:/\["C_
M)GL6\0/D$W4U>Z6R:39_!N]J+.=5Q+MZ N\H[I*V/G)^.5(NWW5H=0[+A&]7
M +^'9/7'B]F;Z;MG>,U'7O/GT%?_HV.7I/SW9/2;QT-(M;_ZE:-?./DQ9.ZL
M#"6D1[XS5/,%'X]JZY$C6L.Y*[#@M3&/L@\M07&D<V=1K)@\2*)U YY//<^:
M'QUR#_B>61Y,DE"18^L>%(RBM"V4#CS,6B$:&%*3TF7)XR;"LPCG)8%NA%;,
MP/Y ?:A!O4.#A -4@2$W+G0^UHZUB1#)_%1,GZ5@+A(@ZXN%DKBGZ'C8@^T&
M O# @SZP471>:G@*BA7ETKABHM:&:M=54FWJ.!.7B>=?8,*=$1&LWZO2NX;C
M73BKUZOS:N[ (.?F-I*JM43SE"_ "[U3+<0RDL+ 7F81VOX1DG/!/>1^"#/D
M[*>NQ"[(TF/?]+XAHWK6$4%L#C%5WGDOC/;:<"$FEZY:>C9=^814\0V)BBWU
M@W;\.CY3ZWXZG]S[-^Y6^PKYK!@H.70Z^?MUHGS_;O0&N3;.ZITCGOQQ6?-3
M"UX<>+]T/*\'0Q*,C_?J)U!+ P04    " "GB7I:"(7<CG "  "3!0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6R=5%V/TS 0_"NK("&0H$G3WH%*
M&ZGM@>#A4'7EX]EU-HEUCAULYW+W[UD[:2A2KT*\--[US'C6[NZRT^;>5H@.
M'FNI["JJG&L6<6QYA36S$]V@HIU"FYHY"DT9V\8@RP.IEG&:)-=QS82*LF7(
M[4RVU*V30N'.@&WKFIFG#4K=K:)I=$S<B;)R/A%GRX:5N$?WO=D9BN)1)1<U
M*BNT H/%*EI/%YNYQP? #X&=/5F#K^2@];T/ON2K*/&&4")W7H'1YP&W**47
M(AN_!LUH/-(33]=']4^A=JKEP"QNM?PI<E>MHO<1Y%BP5KH[W7W&H9XKK\>U
MM.$7N@&;1,!;ZW0]D,E!+53_98_#/?P+(1T(:?#='Q1<WC#'LJ71'1B/)C6_
M"*4&-ID3RC_*WAG:%<1SV5?M$*;P%O;]JX N8"]*)0K!F7*PYERWR@E5PDY+
MP07:!>R,4%PT$JV';[6RM)6S<,VOCK#7R]B107],S <SF]Y,^HR9:0JW6KG*
MPD>58_ZW0$R5C>6EQ_(VZ47%&^03F$W?0)JD\PMZL_&Z9D%O]HS>L;ASM?7,
M^7FF;ZZ%;1C'543=8]$\8)2]?#&]3CY<\#4??<TOJ6<77N2<U?\6@V\5 A\S
MF$,A%",TDV =):A?G07BRS9'<)6VZ$4<T;:Z;IAZ J9R$ 2R[<&*7#!#]SF!
MM91$<VCX$=;_\VS .\.49:&1+53L >& J "EH)X(/H0Z\46PR;E;C4\:I493
MAG%@(1S4]\R8'2?.NF^T/_!^7-TR4PHR([$@:C)Y=Q6!Z4= 'SC=A+8[:$=-
M')8534TT'D#[A:;6&P)_P#B'L]]02P,$%     @ IXEZ6A#B[CJ# @  KP4
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
M*"0D4PRP7SL\B>-$#MC_/EK^"U!+ P04    " "GB7I:&\62:CT#  !>!P
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
M%EU(X//2LE_[3;A@&-[9'U!+ P04    " "GB7I: WG$/(@#  #"!P  &0
M 'AL+W=O<FMS:&5E=',O<VAE970S-2YX;6R-5>]OVS80_5<.*E"T0&K)LIL5
MB6W 23>L0#L$=;M^IJF3Q)4B-9*RXO]^=Y2L.&L:](O$7_?NO2/YN.JM^^YK
MQ #WC39^G=0AM%=IZF6-C? SVZ*AF=*Z1@3JNBKUK4-1Q*!&IWF67::-4";9
MK.+8G=NL;!>T,GCGP'=-(]SQ!K7MU\D\.0U\5E4=>"#=K%I1X0[#U_;.42^=
M4 K5H/'*&G!8KI/M_.IFR>OC@K\5]OZL#:QD;^UW[GPHUDG&A%"C#(P@Z'?
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
M5*%!K RQXS LN+^C]0F\OC;<)+J)WZ#_8\S^ %!+ P04    " "GB7I:+E8
MK] #  #<"   &0   'AL+W=O<FMS:&5E=',O<VAE970T,RYX;6RE5MMNVS@0
M_96!"A0MD$BVXEZ0V@:<I$6+18L@7F^QCS0UD@A3I$I24;Q?OT/JDKAUO 7V
MQ>9EYLR9"V<T;[79V1+1P4,EE5U$I7/U99)87F+%;*QK5'23:U,Q1UM3)+8V
MR+*@5,DDG4S>)A43*EK.P]FM6<YUXZ10>&O -E7%S/X*I6X7T30:#NY$43I_
MD"SG-2MPC6Y3WQK:)2-*)BI45F@%!O-%M)I>7LV\?!#X2V!KGZS!>[+5>N<W
M7[)%-/&$4")W'H'1WSU>HY0>B&C\Z#&CT:17?+H>T#\%W\F7+;-XK>5WD;ER
M$;V/(,.<-=+=Z?8S]OZ\\7A<2QM^H>UE)Q'PQCI=]<K$H!*J^V</?1Q^1R'M
M%=+ NS,46-XPQY9SHULP7IK0_"*X&K2)G% ^*6MGZ%:0GEM^TPYA"N>P[K("
M.H>U*)3(!6?*P8ISW2@G5 &W6@HNT%["GX8I*UD(*\E3>,AY!=>-,:B\"+P:
MA%_/$T<TO;&$]Y2N.DKI,Y2F*7S5RI46/JH,LT. A/P;G4P')Z_2DX@WR&.X
MF)Y!.DEG)_ NQJ!=!+R+9_ &YX[YUFG.CFOZ)W9I:\9Q$=$;LFCN,5J^?#%]
M._EP@M=LY#4[A;[\S[P<(_P_(6%E+3H+3&4@!=L**9P_)F%7(ESKJF9J__+%
M^W3Z[H.%O >PS=:*3##C99E!<+TAS$ HIV$3KV/(M)3,D( +8*RN*?!L*Q'P
M@9=,%0B&5(+ 'IDY1Y7%\(UZ64']B$@8D)KX6>H?EMZI+^/<Z"J@N4/7CK%E
MQWWS?*EY^,Y"=!D=@,6:>2K "4(KI*=#F/1\^:[4,D-C>U# 'XUP^QA6H+!@
MOB<=,!'$@).R.J$\&/>&><B$HR/9@87 W83 P3V3#4))G0D-.<C4$,E:4Y I
MT."HP_H;-_C:(CE'#!HFY9X69-"$G)"M(7F=31Z<J+45SSG1ZD9F?>B[N+.G
M>25;;$?$"+LC^CS#P?(AR8Y;#'_WJ3_@\',%4#J45N=YH\(\8')T@]JZVA%<
MZ'2TD4QQM&> <1'#Q\U=R/]J<S->08GDUW8?B&[^>"SF_5E?&UQ3"_VG*PYO
ME88H58<O/Z&H0M#SP@>:K!;/0@&-E1W#ET["&^U%0#BL?GDF?:#:,'C\_IYL
M]"_">SL^D5=^;&6^I-H250?!0A#L8Z8U#^'(7D/6&$_48_LW%1]K3,F3B5.A
M*<)<M1 BV V?\70<W:MN8CV*=W/_*S.%SY3$G%0G\;LW$9ANEG8;I^LPO[;:
MT30,RY(^/]!X ;K/-<VP?N,-C!\TRW\!4$L#!!0    ( *>)>EJB*67>$P0
M /H)   9    >&PO=V]R:W-H965T<R]S:&5E=#0T+GAM;+56;6_B.!#^*Z.L
MM&HE("'0EVL!"=I=;3]L597V[K-))L2WB9VUG5+^_<TX(:5=VEOI=!(BMC/S
MS//,3&Q/-MK\L#FB@^>R4'8:Y,Y5%V%HDQQ+80>Z0D5O,FU*X6AJUJ&M#(K4
M.Y5%&$?1:5@*J8+9Q*_=F=E$UZZ0"N\,V+HLA=DNL-";:3 ,=@OW<IT[7@AG
MDTJL<8GNL;HS- L[E%26J*S4"@QFTV ^O%B,V=X;_"EQ8_?&P$I66O_@R4TZ
M#2(FA 4FCA$$/9[P"HN"@8C&SQ8SZ$*RX_YXA_[5:R<M*V'Q2A=_R=3ET^ \
M@!0S41?N7F^^8:OGA/$275C_#YO6-@H@J:W39>M,#$JIFJ=X;O/P.PYQZQ![
MWDT@S_):.#&;&+T!P]:$Q@,OU7L3.:FX*$MGZ*TD/S>[U0YA> Y]N,<$E8-Y
MDNA:.:G6<&>THG&"5 1G+^"6<OSNZQ[<Z4(F6SCR3XGV>!(Z8LAQPJ1ELVC8
MQ.^P&<;P72N76_BB4DQ? X0DK=,7[_0MX@\1KS$9P&C8@SB*QQ_@C;I\C3S>
MZ!V\G;A#VAK/\6%/_KHN;"42G ;T^5@T3QC,/G\:GD:7'_ :=[S&'Z'/?JLV
MATA_#'NCX%8_8;E"PQD<]<#E"%^E$BJ1HM@/N71"I<*D%A::'G#T^=-Y'$>7
M7^?+A1\.+X]!6EMC>MCML4H%->/.;[Y\[-PX=#\ZZ\$2UZR(FK72QOL?/>A*
M)A"?1\<7<%-6ANFR:'"Z-1.K CO/:VF30MN:2@"DCOKC%W5$N".Z?&R#_]$C
M\T27" _BF7S;N&?C0W%?+/?C]6"3RR2GO>QG+3E^5:^H+$!>TDE^S]L4_U1-
MN:7-1M(:P3&X3!'2#@MT!K;"1&;DGU#:UMH0 DCE)1A.I,%$4Y4**7C_ZX&P
ML*'=CY^O@63#UGE=E9 IOQ?KM<$UX:2PVL+?M9$VE7XG'>QGA1(%F&7H-U>@
M0P(RPB;V6Q3&P@K74BFND\@<9;E+]_"D^20I)]+E0,;%%D2J*[]75VA*Z2CV
M !Y(SI4N*Z&V'"NIC:%\D3$^B:(6O@=8LB23Q+&<!H66YX_+'<T!O.GD\;NU
M'O>C45=KZD[GR]I_Z3AF8S#G@XDD-X;]+\]T3%KD<N\RQT+VN^UH6:]<TZQQ
MU/=]\\::R+^-"RTP-4+3-LS@3=]PB[0515*?2@:C$DC5'-K^]%O1B?S2,MC2
M_;5U%!T('I$G6?>AVQTAVS:I5%1/6=(P?=6P@_T\_L?N..UY>/;;A:/.D#K]
M=]>S_[6Q7A0.#NW=X=YY7*)9^UL'A> ]KSF:N]7N8C-OSO,7\^96]%T8$FJA
MP(Q<H\'920"FN6DT$^HH?[JOM*.[@A_F=#E#PP;T/M-4T';" ;KKWNP?4$L#
M!!0    ( *>)>EJ/\IJ1C (  -4%   9    >&PO=V]R:W-H965T<R]S:&5E
M=#0U+GAM;)54;4_;,!#^*Z<@H4UBY*T45MI(+3"Q#Z"*;N.SFUP:"\?.;(>R
M?[^SDP8FE6I\\>O=<\^=_=QTJ_23J1 MO-1"FEE06=M,PM#D%=;,G*H&)=V4
M2M?,TE9O0M-H9(5WJD681-$XK!F703;U9TN=355K!9>XU&#:NF;ZSP*%VLZ"
M.-@=//!-9=U!F$T;ML$5VI_-4M,N'% *7J,T7$G06,Z">3Q9C)R]-_C%<6O>
MK,%ELE;JR6V^%[,@<H108&X= J/I&:]0" =$-'[WF,$0TCF^7>_0O_G<*9<U
M,WBEQ",O;#4++@(HL&2ML ]J>XM]/F<.+U?"^!&VO6T40-X:J^K>F1C47'8S
M>^GK\#\.2>^0>-Y=(,_RFEF63;7:@G;6A.86/E7O3>2X=(^RLIIN.?G9[%Y9
MA!B^P*I[%5 EK/A&\I+G3%J8Y[EJI>5R TLE>,[13."&:4DG!I:H854QC1-8
MT7<I6H$.X-'7 @N8/Z.FIX7[MEZ3J<-VU@8^_6!K@>;S-+24A*,2YCWA14<X
M>8=PG,"=DK8R<",++/X%""G[H03)K@2+Y"#B->:GD,8GD$3)Z !>.I0T]7CI
M.WA=:N&N(&9?CAW":#^"$^+$-"S'64!*,ZB?,<B.C^)Q='F WVC@-SJ$GGWH
MI?:1/PSOJNA*F;HA>8W ^@ARB&"ZOT"MPE@F"_?'CH\NDCB^=$+C.:0GX^2K
M&]-SN.:B=0(&+$M2M/>W*G\"U3AY&_K"%S#^6+@38(:ZD0M<>'AJ$UTT&D?I
MOEJ';Z16H][XAF+ BZ13W7 Z]*QY)]57\Z[AW3&]X41<8$FNT>GY60"Z:R+=
MQJK&"W>M++4!OZRH[Z)V!G1?*A)OOW$!ADZ>_0502P,$%     @ IXEZ6NS7
M&69X!   L D  !D   !X;"]W;W)K<VAE971S+W-H965T-#8N>&ULC59;;]LV
M%/XK!UI1Q( <D;K8DFL;R*7=,JQ9D*3K,RW1-E&)U$@J3O;K=TC)=@JX01Y$
M4M+A=[YS)><[I7^8+><6GIM:FD6PM;:=19$IM[QAYERU7.*?M=(-L_BJ-Y%I
M-6>5W]3444S()&J8D,%R[K_=Z>5<=;86DM]I,%W3,/URR6NU6P0TV'^X%YNM
M=1^BY;QE&_[ [;?V3N-;=$"I1,.E$4J"YNM%<$%GEZF3]P+_"+XSK];@+%DI
M]<.]W%2+@#A"O.:E=0@,IR=^Q>O: 2&-?P?,X*#2;7R]WJ-_\;:C+2MF^)6J
MOXO*;A=!'D#%UZRK[;W:_<$'>S*'5ZK:^!%V@RP)H.R,5<VP&1DT0O8S>Q[\
M\)X-\; A]KQ[19[E-;-L.==J!]I)(YI;>%/];B0GI O*@]7X5^ ^N[Q5ED,,
M8[CFEHD:U!JNN,:EA$M6,UER>/#)<5&6JI/6S-XM"6>/;%5S,YI'%IDZ?5$Y
ML+KL6<6_8$5C^*JDW1KX+"M>_0P0H8D'.^.]G9?QFXC7O#R'A(80DSA] R\Y
M^"WQ>,DO\'K3H@<LDJK#U2D;>X3T-(*KMIEI6<D7 9:3X?J)!\N/O]$)^?0&
MO_3 +WT+??G>()WB_2;R:=Z8%"5O5EP??.R&Y)@+3%:@[!8%-$J*)^^^V?'_
M\2M\@#2,DP+G)$SSW,GHCE<@I.6HT+[".HM'D"7P%S>HH<8&XRW$5@65ZE9V
MW=58]OMLI&DRPC&C(WA4EKWZ=9*<YT&*U/-("@(W\HE+J[1PQ+\(*;#J*FBU
MJKK2.G$:%C3Q\R3/X#MVH[&08Q0H'3\:IC3%,2,)W+,=%C&:(UAM($,S,YB@
MDG1@)HZJ$"\/<RR(#U"$61[#[TI5.U'7LT-$F7%Q_I/)#MLJ4,<@"2=%W"^2
M+(7/ZS5V02>%OL%&)8$_EULF-QP=0M&)29+# WI,,]\LC<-DZ V#S<UM$TW+
MA,9F;+%5C >6>R8#@5<IT&O.<G+D\K?W[TV%$&(M?*!OI$4*PBTOC.&NM]RA
M4Z1W9AS&E/0S*>!6R7&IFI9CMV(;S7GCQ6B<X3.%1\TJ/*SP((./K&D_@74?
M0+(&'5@@0H9C,B%PY3NJ#W3-O*5;T1KT<)'%*$))#M?"6"U677]H''7%-"2$
M["=_>HW5>OS-#.R]#Y,TAGN^Z1!<82Q8B]%_<C'N:0W) B76)'JA["D Q<S!
MC30.:48&Y[['7YC[X70:0X8%4TQ<H72-4XUIR1J%*O[S"N L(V%!IIC]*;HA
M(Z-WH8=PBU:Y".23S%=#D4X.U<B?\5Y@7"G<2(P,!\N>T=DM>_%H9\=*&N%>
M++O$S0D&ZXZ]:.6R!JNN'=;]9AK2-,<QQD*X[UN++^9:6+'I32F5<7&G%.)L
M.IB!WLLRI$DFR;&R?R+I:YA,J)^+E,*I#AN].D4Q13;^KF# ]XC^0#U\/5Q'
M+OI3^"C>WV6^,KT1&-B:KW$K.9]F >C^?M"_6-7Z,WFE+.:C7V[Q2L6U$\#_
M:X7G\O#B%!PN:<O_ 5!+ P04    " "GB7I:W?RSZT0#   /"   &0   'AL
M+W=O<FMS:&5E=',O<VAE970T-RYX;6RM5E%STS@0_BL[AF'*C(EER4J<DF2&
MMO2N#W"]!NZ>55N)-=A2D&0"__Y6MFO2FY#V@9?-2M[]].VGE93%WM@OKI+2
MP_>FUFX95=[OSI/$%95LA)N8G=3X96-L(SP.[39Q.RM%V24U=4()F2:-4#I:
M+;JY6[M:F-;72LM;"ZYM&F%_7,C:[)=1&CU,W*EMY<-$LEKLQ%:NI?^\N[4X
M2D:44C52.V4T6+E91N_2\XLLQ'<!_RBY=P<^A$KNC?D2!C?E,B*!D*QEX0."
MP)]O\E+6=0!"&E\'S&A<,B0>^@_HUUWM6,N]</+2U/^JTE?+*(^@E!O1UO[.
M[/^40ST\X!6F=IV%_1!+(BA:YTTS)".#1NG^5WP?='A. AT2:,>[7ZAC>26\
M6"VLV8,-T8@6G*[4+AO)*1TV9>TM?E68YU<?C9? X W\W0KKI:U_P)UT6)(#
MLX&_=M**H)Z#L\]:M*7RLGQ]?A!\K;30A1(UW.B^18+69Y_$?2W=ZT7BD6-8
M*2D&/A<]'_H+/BF%#T;[RL%[7<KR,4""Q8T5TH<*+^A)Q"M93("E,5!"LQ-X
M;%2,=7CL%WA]:<D:CT?9HG>LQAXA.XX0SMFYVXE"+B,\2$[:;S):O7J13LG;
M$_RRD5]V"GWUQ-X<HWL2\#A=&-OAH!E"!P*NU$F-RUOG'[["6A9&C\'PJ5+V
MY^C:M-97X_ C7D9K@=K"2TC3F&4D."3.R. 0PM&9QRF?P1_6. >WUFR4AVD\
MFT[14LZ QSFA:!EE'>*-+DR#S1[/^11MAB$LYE,&-)YCX'MAM=);A$(&EZ9I
ML(_7E; 2SJY4W8;&AW1"YD F\SQX#+U\^J00['<)06-.2>_D6&0_TPF!#F/L
ML1*S.,\8VAF;HV4\6(+$#Y3(8IIFP:*LJ KCP<]GSU0BG0;#@Q)!CC1_4@GZ
M^Y0(>XH.[B+-^YDYY_T,G_'_*\%1G!R;)0T6MRS'_-GCGN L*)'BI@8-"%J.
M@,]1 MNA4X+V(J03RN'8,4X.+NE&VFWW%#DH3*M]?U^/L^-K]ZZ_Y'^&]T_E
M!V&W"N_D6FXPE4QF/ +;/S_]P)M==^7?&X\/2.=6^&)+&P+P^\;@M3\,P@+C
M?X#5?U!+ P04    " "GB7I:AE-"F+8"  #K!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970T."YX;6Q]5-MNVS ,_17"*X86<.MKXB1+ C2]8 /6(6B[[5FQ
M&4>H+;F2W+1_/TI.O11(\V*1$GEXCF1RNI7J26\0#;S6E= S;V-,,PD"G6^P
M9OI"-BCH9"U5S0RYJ@QTHY 5+JFN@C@,AT'-N/#F4[>W5/.I;$W%!2X5Z+:N
MF7I;8"6W,R_RWC?N>;DQ=B.83QM6X@.:W\U2D1?T* 6O46@N!2A<S[S+:+)(
M;;P+^,-QJ_=LL$I64CY9YT<Q\T)+""O,C45@M+S@%5:5!2(:SSM,KR]I$_?M
M=_1;IYVTK)C&*UG]Y879S+R1!P6N65N9>[G]CCL] XN7RTJ[+VR[V"SV(&^U
MD?4NF1C47'0K>]W=PU["*/PD(=XEQ(YW5\BQO&:&S:=*;D'9:$*SAI/JLHD<
M%_91'HRB4TYY9OY+&H04SF&IZ*&5>0,F"KAY;GE#5V\F_;X/RXH)\_$83A_9
MJD)]-@T,D;&00;XKO.@*QY\4CF*XD\)L--R( HN/  &IZ*7$[U(6\5'$:\PO
M((E\B,,X/8*7]%>3.+SD$[Q.6O! ?5"T9!W2V"&DAQ%L0TUTPW*<>=0Q&M4+
M>O.O7Z)A^.T(O[3GEQY#GQ]]F4-DC\(=)@MTJ5BO4/47:S\)_+3%3B#RAV':
MK<D(%BVO"BY*[:CPNE'R!2T9#5'B#Y*Q7<9A!K>M$MRT"GW _E>R.49*HE5"
M-/('<091YB?1 *ZDT$:UKHW/N3@GW)(8$BHA^FF4P*,TK((D\8>C,22I'V<)
M7.9Y6[<5,UA0FY*DG#,W"$YC8A$/SYR1Q?'9QW^_9^2#H*%X F,_&R969.@/
M!A$<>KE@KP%K5*4;,QIRV0K3]6*_VT^RRZZ!_X=W8_".J9(+#16N*36\R 8>
MJ&ZT=(Z1C6OGE30T')RYH6F,R@;0^5I22^\<6Z"?[_-_4$L#!!0    ( *>)
M>EI*ZQ=H?0,  !8(   9    >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;*U6
MVV[;.!#]E8&V*#: 8HD7W5+;0)RVV +MPFC:W6=:HFVADJB25-S\_0XI1TVP
MCIN'OI!#BG/FS!QSZ/E!Z6]F+Z6%'VW3F46PM[:_BB)3[F4KS$SULL,O6Z5;
M87&I=Y'IM125=VJ;B,9Q&K6B[H+EW.^M]7*N!MO4G5QK,$/;"GV_DHTZ+ (2
M/&Q\KG=[ZS:BY;P7.WDK[==^K7$532A5W<K.U*H#+;>+X)I<K;@[[P_\4\N#
M>62#RV2CU#>W^% M@M@1DHTLK4,0.-W)&]DT#@AI?#]B!E-(Y_C8?D!_[W/'
M7#;"R!O5_%M7=K\(\@ JN15#8S^KPU_RF$_B\$K5&#_"X7@V#J <C%7MT1D9
MM'4WSN+'L0XO<:!'!^IYCX$\R[?"BN5<JP-H=QK1G.%3]=Y(KNZ<*+=6X]<:
M_>SR;V4E<+B$M4:AM;T'T57P[OM0]UAZ>_5S?]V(SC[]"IM[^*A*X>O[YQ>Q
M::2YF$<6>3GTJ#QR6(T<Z#,<"(5/JK-[ ^^Z2E9/ 2),:,J*/F2UHF<1W\IR
M!HR$0&/*S^"QJ4K,X[%G\,;4HEN\$M6 UJD<1P1^&L'=K2O3BU(N KP\1NH[
M&2Q?_T'2^,T9?GSBQ\^A+U\JTBG>9Y%/\P:LKVPW4D\UAJ^SVQF\%FW_!FY$
M)RJ!6NX:1V3<O,:?LA9-+>"#EG[_B[*B@8_.? 4I)7[,<&1)BB,)TYC#:JB;
MJNYVQN=4M[U6=])E92 -DRP%%I*8X)BG% @+$U; ^T%WM1VT#$%.17#N5BE,
M;P<D"7-.(2,Q1BFR!$@>)ACZ1G5(<O#MXK+N+C'8#G,V0 J\()=N&DE3%L9)
M#CSD+$<>I&# 6)CF!5R7Y= .C;"RPMZ %2OKX^W & 6++] (DSS#F84\+G!&
ML(*F%T\OX$0\A X[\RN,16B.,PWSA/@YRSG.19BE[']ZL-^D!_-ZY/&H!R9[
M7@]DA'H4W+,MG!Y%G+U(CQA5R!A*&"9Q#B0+&4F>UZ,@6'#@18;G.=J3*DX)
M'B9IZM@09,-#FK'SJF0Q\:KPE'M5DB0;5<DH_;4JO*"N1/@KI%Z5(G$E(S'"
M$#AULZ-'O;J5>N=?) .E&CH[MNUI=WKTKL=>__/X^&)^$GI7=P8:N477>)8E
M >CQ%1H75O6^\V^4Q7?$FWM\N*5V!_#[5F'W/RY<@.FOP/(_4$L#!!0    (
M *>)>EJBVYLNQ0(  !8&   9    >&PO=V]R:W-H965T<R]S:&5E=#4P+GAM
M;)55;6_:,!#^*Z>LFHI$FS=>!@,D*)M6::U07[;/)KF 5<=FMM.T^_4[)R%E
M$D6;A.RS???<\]BY8U(J_62VB!9><B'-U-M:NQO[ODFVF#-SJ78HZ213.F>6
MEGKCFYU&EE9!N?"C(!CX.>/2FTVJO96>351A!9>XTF"*/&?Z=8%"E5,O]/8;
M=WRSM6[#GTUV;(/W:!]W*TTKOT5)>8[2<"5!8S;UYN%XT7/^E<,/CJ4YL,$I
M62OUY!;7Z=0+'"$4F%B'P&AZQBL4P@$1C5\-IM>F=(&']A[]:Z6=M*R9P2LE
M?O+4;J?>)P]2S%@A[)TJOV&CI^_P$B5,-4+9^ 8>)(6Q*F^"B4'.93VSE^8>
M_B4@:@*BBG>=J&*Y9);-)EJ5H)TWH3FCDEI%$SDNW:/<6TVGG.+L[%99A"%<
MP+5,5([PP%[0C.&>'C\M!(+*8(D9:HVI.X.Y,6@-,)G"=\[67'#+T<#Y UL+
M-)V);XF4@_:3AL"B)A"]0R",X$9)NS7P1::8_@W@DYI64K27M(A.(BXQN80X
M[$(41+T3>'%[17&%%[^#5TOS]U=BCFFL$7K'$5QAC<V.)3CUJ'(,ZF?T9A\_
MA(/@\PE^O99?[Q3Z[#_?ZAC]DPF.TZ=4">9KU.U5NR%V0T0?TS-*J_0KE)I;
MO$A5*6LB*<^((<J$/IJT0+ *'F^OK^8K.(-H&- 8AM48Q# 7U#(8N0(U'TA5
ML;99(:B0$U5($A:-*#?$(Y@GB2Y(M#CX(EVRAJR!?@"CZK=$4I!P5G<$<F&Y
MTI;_KC?.PVZO'W;</!C&-$?=:-3OO-TJKXO$NB+I@J2>>>:<PR#JU%:O5UM1
M-QC$G6./ZQ_4:HYZ4W4D Y6DNFS;W;;IS>M:?W.O.^8-TQM.]RHPH]#@<MCW
M0-==J%Y8M:LJ?ZTL]9'*W%+C1NT<Z#Q35/W-PB5H_PIF?P!02P,$%     @
MIXEZ6IX]MLQO @  @@4  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N>&UL
MG5113]LP$/XKIVR:0.I(ZJ2AZ]I(M(#& Q,"MFF/;G)I(A([LQW:_?N=G30P
MJ5337FR????=]YU]GF^E>M(%HH%=70F]\ ICFIGOZ[3 FNLSV:"@DURJFALR
MU<;7C4*>N:"Z\ED0Q'[-2^$E<[=WIY*Y;$U5"KQ3H-NZYNKW$BNY77AC;[]Q
M7VX*8S?\9-[P#3Z@^=;<*;+\ 24K:Q2ZE (4Y@OO8CQ;1M;?.7PO<:M?K<$J
M64OY9(V;;.$%EA!6F!J+P&EZQA56E04B&K]Z3&](:0-?K_?HUTX[:5ESC2M9
M_2@S4RR\J0<9YKRMS+W<?L%>S\3BI;+2;H1M[QMXD+;:R+H/)@9U*;J9[_HZ
M_$L ZP.8X]TE<BPON>')7,DM*.M-:';AI+IH(E<*>RD/1M%I27$F^2H-PCE\
MA!N1RAKAD>]0S^"!+C]K*P29PTK6C10HC+;6BQ]<[>AI:(23)0K,2W,*)X]\
M7:$^G?N&N-D,?MKS6'8\V!L\Q@QNI3"%ABN18?8W@$^B!F5LKVS)CB)>8GH&
MX7@$+&#1$;QPJ%3H\,(W\#II_KXR^I#&#B$ZC&#[:Z8;GN+"HP;2J)[12SZ\
M&\?!YR/\HH%?= P]^;\K.Z3B:)[#*N G<J4![=T!51[K-:JA^G8([<!@U2I%
MO. ]A",63VF.1L'YQ,UQR"@V1_+(X"2, GI0,1O3&$7Q*3Q*PRMR9*-/;.H
MHDGD L?3& Y5T'_5%S6JC>M^#:ELA>E:9-@=/IB+KJ]>W+O?Z9:K32DT5)A3
M:'!V/O% =1W?&48VKLO6TE#/NF5!GR0JZT#GN:1.ZPV;8/AVDS]02P,$%
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
M;LO---?O( H#T/L+KIMINS !NI<U^0-02P,$%     @ IXEZ6OPLFR"S @
M(P8  !D   !X;"]W;W)K<VAE971S+W-H965T-34N>&ULK57?;]HP$/Y73MF8
M-JE-0OA1R@ )ND[;0S=4MDY[-,F%6#AQ:CM0_ON=G9!V$D5[V(M]=NZ^^SX?
M=TSV4FUUAFC@*1>%GGJ9,>4X"'2<8<ZT+TLLZ$LJ5<X,'=4FT*5"EKB@7 11
M& Z#G/'"FTW<W5+-)K(R@A>X5*"K/&?JL$ A]U.OZQTO[ODF,_8BF$U*ML$5
MFI_E4M$I:%$2GF.AN2Q 83KUYMWQHF_]G<,#Q[U^88-5LI9R:P]?DZD76D(H
M,#86@=&VPQL4P@(1C<<&TVM3VL"7]A']L]-.6M9,XXT4OWABLJDW\B#!E%7"
MW,O]%VST#"Q>+(5V*^P;W]"#N-)&YDTP,<AY4>_LJ7F'?PF(FH#(\:X3.9:?
MF&&SB9)[4-:;T*SAI+IH(L<+6Y254?254YR9?9,&8027\+VTKZ3'L**Z)Y5
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
M '33B!K#JHTO_J6RU$K\<DV]&[5SH/.5H@;0&B[!X6\P_0U02P,$%     @
MIXEZ6GE+Y5_4 @  (08  !D   !X;"]W;W)K<VAE971S+W-H965T-C N>&UL
ME57;;MLP#/T5PAN&#LCJ:ZY+ B1MU_6A%S3M]BS;C&U4EC))3IJ_'V4[7@>D
MP?9BD2)Y>"B)]'0GU8O.$0V\EESHF9,;LYFXKDYR+)D^EQL49%E+53)#JLI<
MO5'(TCJHY&[@>0.W9(5PYM-Z[T'-I[(RO!#XH$!79<G4?HE<[F:.[QPV'HLL
M-W;#G4\W+,,5FN?-@R+-[5#2HD2A"RE X7KF+/S),K+^M<./ G?ZC0RVDEC*
M%ZO<I#/'LX208V(L J-EBQ?(N04B&K]:3*=+:0/?R@?T;W7M5$O,-%Y(_K-(
M33YS1@ZDN&85-X]R]QW;>OH6+Y%<UU_8M;Z> TFEC2S;8&)0%J)9V6M[#O\2
M$+0!0<V[252SO&2&S:=*[D!9;T*S0EUJ'4WD"F$O964460N*,_,[:1!\'[[
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
M<0I08$ZFP7 Z]D"W Z_=6%4U0V:K+(VL9EG0/P*U4Z#[7-&@Z3;.0?_72?X
M4$L#!!0    ( *>)>EJS92R:H0,  ,X'   9    >&PO=V]R:W-H965T<R]S
M:&5E=#8T+GAM;)U5;6_;-A#^*P<-+A) LRA*HJS4-I T:Q>@+T&R%^PC;9UM
M(9*HD72<[M?O2,EJ4KC!L"]'D7SNN7ON*')^4/K![! M/#5U:Q;!SMKN(HK,
M>H>--%/584L[&Z4;:6FJMY'I-,K2.S5UQ!D342.K-EC._=JM7L[5WM95B[<:
MS+YII/YZA;4Z+((X."[<5=N==0O1<M[)+=ZC_;V[U32+1I:R:K UE6I!XV81
M7,875ZG#>\ ?%1[,LV]P2E9*/;C)3;D(F$L(:UQ;QR!I>,1W6->.B-+X>^ ,
MQI#.\?GWD?V]UTY:5M+@.U7_695VMPAF 92XD?O:WJG#KSCHR1S?6M7&6S@,
M6!; >F^L:@9GRJ"IVGZ43T,=_HL#'QRXS[L/Y+.\EE8NYUH=0#LTL;D/+]5[
M4W)5ZYIR;S7M5N1GEY^518AS^!GN<4O%MG#3]JVFFEW /1V"<E\CJ,T(N,-.
M:5NUV^?0$%9?1\39;W)5HSF?1Y92=(&B]9#.59\._T$Z,8=/JK4[ [^T)98O
M"2+2-@KD1X%7_%7&:UQ/(8E#X(RGK_ E8\$2SY?\@*^7%AT+8TYI[!G2TPSN
M-[LPG5SC(J#_R*!^Q&#YYJ=8L+>OY)>.^:6OL2__5\=.B7@US&D1\!=*W7<.
MJ.[8K%"/M7<F<893/H_8[M% RL*")9"QD!,@XR&?Q? 1C:&39V5;2EW"6AGK
MQ!A)U88X"5,FZ,32P" 689$4\,7N*-!+8!(F&84+\YF@[S@5\$$K8^!6JTUE
M@:>TED#"0I;,(.%A7'R'^"3UMFHA*Z9LXNQL B*>B@G<>_XWLNG>.M #^LK&
MI"0F*V89V8SEI-)0.=:[ 7I-HFO5^8;,8A(M&*1% A\K6VU]1^ ]$C&E0I*(
MB/9%SN"R<;W[IT=P2I=!1ILQB# A;;WV#]BBEO40ZK*DFZ(R5DMWY9%\(5P1
M1)'YLC#XTJ';\P=BK1IT9<V*U-4SSW.(BS O3J"&DB3)E$^<3<GFTV(R)#&@
M;EJ+="0L5/V<0HJ<+$L$N+Q[\+!YAD_TOA@\A[,X*\Z!YX+.2''D6B&=5SR"
MK7QR1T"$,\8)%;)9X0:1%:YICY5_*<CA)9Z'!:<6AVF6 G6=:O89[3/AL]P+
M%TGFAC1/X-1O&#V[8QO46_^2&#IT^];VU^VX.CY6E_T=_0W>OW1]&0W4N"%7
M-LVS '3_>O03JSI_8Z^4I?O??^[HP47M +2_471K#Q,78'S"E_\"4$L#!!0
M   ( *>)>EH<Q3]-=P(  &L(   9    >&PO=V]R:W-H965T<R]S:&5E=#8U
M+GAM;+66:VO;,!2&_\K!@[%!5U]R:[/$T+0;*ZPC-'3[K-K'B:@NKB0W">S'
M3W)<+85&'67]8DNRSJOGO)(XGJRENM,K1 ,;SH2>1BMCZG$<ZV*%G.AC6:.P
M7RJI.#&VJY:QKA62L@WB+,Z29!AS0D643]JQN<HGLC&,"IPKT WG1&UGR.1Z
M&J71X\ U7:Z,&XCS24V6N$!S4\^5[<5>I:0<A:92@,)J&IVEX]FIF]].^$EQ
MK??:X#*YE?+.=2[+:90X(&18&*= [.L!SY$Q)V0Q[CO-R"_I O?;C^I?V]QM
M+K=$X[EDOVAI5M/H)((2*](P<RW7W[#+9^#T"LET^X1U-S>)H&BTD;P+M@2<
MBMV;;#H?]@+2_H& K O(6N[=0BWE!3$DGRBY!N5F6S77:%-MHRT<%6Y3%D;9
MK]3&F?R'- @I?(+%;E= 5K"@2T$K6A!AX*PH9",,%4N82T8+BGH,<V4/A3);
M(**$+_<-K>TV&?AP@890IC].8F/1W )QT6',=AC9 8P++(ZAEQY!EF3]I^&Q
MS<BGE?FTLE:O?T!OUE!6.FA'Z#N7O%;R 1VLAM]P107E#7^.-JCN+LI8UZ3
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
M2U[Q@DD+UT6A-M)R6<-2"5YP-%.XQ9H)F"MC#9PNT#(NS)GCN%\MX/3D#$Z
M2_C1J(UALC09M4ZH/XX6@ZB;7E1R1-0"BPFD\3M(HN3\ 'S^>GCZ$DY=><8:
M)6.-DL"7'N4+#@_YZ('GAX&^ Z>F8P7.B&LQ@WJ+)'_[)KZ,/AYR]9_(7GA,
M1X_IO]CS3\9RUQ18PBVWO&:AQVXY6W/![=,AZSW?9>#S;\4VC^,XH]M]1W_G
M)!=78TXOE.Y=7O]P?&.ZYM* P,JAHLG5!0'=-V,?6-6%^[Q6UG5'F#;N_4+M
M$]Q^I=R='@+?(N.+F/\!4$L#!!0    ( *>)>EH&QJ\/X (  ,D(   9
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
M<-FDC '^OI((OK\Q!YOU0?;L'U!+ P04    " "GB7I:=?WIZPL%  !0&0
M&0   'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6RMF6MSXC84AO^*ANYTLC-;
M;%F^  5FDG ))%R:-.UG!43PK&VQDDAV_WWE"Q3D$^KI^DNPQ?.^/D<Z.@'1
M?>?BJ]PRIM#W.$IDK[%5:M>Q++G:LIC*)M^Q1+^SX2*F2M^*5TON!*/K3!1'
MEF/;OA73,&GTN]G84O2[?*^B,&%+@>0^CJGX<<,B_MYKX,9AX#%\W:ITP.IW
M=_25/3'UO%L*?6<=7=9AS!(9\@0)MNDUKG%G&:1\!OP5LG=Y<HW23%XX_YK>
M3-:]AIT&Q"*V4JD#U2]O[)9%46JDP_A6>#:.CTR%I]<']U&6N\[EA4IVRZ._
MP[7:]AJM!EJS#=U'ZI&_W[$B'R_U6_%(9G_1>\':#;3:2\7C0JPCB,,D?Z7?
MBWDX$6@?6. 4 L<4N!\(2"$@505N(7"K"KQ"X%45^(7 KRH("D%05= J!*VJ
M@G8A:%<58/NP<G9ER7&Q2ZO]H>2PW+CR>N/#@N/2BOL?20Y+CBNO.3XL.JZ\
MZOBP[#A;=RO?)-D.&U!%^UW!WY%(>>V77F3;--/KC14F:4-Y4D*_&VJ=ZL^Y
M8HB@W] ?>RH4$]$/],BDWHX2\0U:[)B@Z<Z7Z.HYH?MUJ-CZ<^<$'H4)358A
MC= DR=M;VB>N!DS1,)*?M?'STP!=??J,/B$+R2T53*(P0<])J.07/:BO_]SR
MO:3)6G8MI5-* [-61?@W>?C.!^$3-..)VDHT3-9L#>CGE_78N6!@Z;D\3JAS
MF- ;YZ+C@*V:B. OR+$=%PCH]K+\B>VTW/Y0/K@LG^Z3B_+A9?F,BHO!CZKG
M3@#YN'KND/RN>NZ0?%(]=T@^K9Z[ \COJ^<.R1^JYP[)9]5SA^3SGZOYQ<^5
MS?)_S_S9#B;'ED@R/_*A7]:[H&:4"UU8F'[VZ\@=7;%>0W^XDTR\L4;_UU^P
M;_\.-8(ZS09UF@WK-!O5:3:NT^RN3K-)G6;3.LWNZS1[J--L5J?9O$ZS19UF
MRYK,SIJ9>VQF[B7W_EQ_)WVB$0/;62[U,VGZS?.MW\9>T+7>3MM4&<*V;7OG
MU "B7-L^IX8 A8EK4". <@@AY]08HCPSKCN(:OG^.34!O1PCKBE $2\PGG@/
M>;4]@WJ O%RG=4[-P)EPC)F8ERG7;ML&M2A3GOY_Z9Y32X!RG!8^4F=%Z!V+
MT+M8A&/!I41+P3>A@NHP5WNG#RUE>0M +=LQRK ,^8YG. T!*#!+8E2& KMM
MK,\8@(C7-DH0@ )B0!, :KE&X-,RU"*.L5_O 0BWC.P>(,C#1O4!,7GF-IR7
M(<?%9N2+,D5LFQC3N00H![=]N/C\8_'Y_]D!)\F*QPPJ/;]4[T[;K*K;,D0\
MWTAQ $!NJ?0 J.V9I5>&=&<PEGD,.1&S^T%.9E.>0! V^L(4@#RSJ=V#@1N/
M>P @;#:K&33CQ(AI7H8P:04&M0 HWS=G:@E1;D#@T@N.I1=<++TA%4F8O$JT
M8P+I"HQYDA^!H*MU&.W3LQ2H)G/3X"06NVGNX-LRA)OF- X@)[.)#4$GHS^-
M( B;[1!T,J [T,E8C@D(&5,PA2#'K,DJ@3^ D-$%9N!D&C'-RQ I08LRY#;-
MSUU+$'*,@K1.3OYB)EZSLWFI:VV?J/P;[W$T/_Z_P9U9=G!JC,]Q9PF-7^/.
M=79J:OUKG__6,*/B-4PDBMA&/\IN!KIOB_S\/K]1?)>=.[YPI7B<76X973.1
M OK]#>?J<),^X/@C2O\?4$L#!!0    ( *>)>EJ3-PW?$@,  %P)   9
M>&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;*V6:T_;,!2&_XJ5H0FD0NY)P]I(
MT.Z"-*8*QO;9)&YKD<3!=EK8K]]Q$K(V=2,^[$OKRWE/GM?WR9;Q)[$F1**7
M/"O$U%A+65Z:IDC6),?B@I6D@)XEXSF64.4K4Y2<X+06Y9GI6%9@YI@61CRI
MVQ8\GK!*9K0@"XY$E>>8OUZ3C&VGAFV\-=S1U5JJ!C.>E'A%[HE\*!<<:F:7
M):4Y*01E!>)D.36N[,M9I.+K@%^4;,5.&2DGCXP]J<I-.C4L!40RDDB5 </?
MALQ(EJE$@/'<YC2Z3RKA;ODM^Y?:.WAYQ(+,6/:;IG(]-<8&2LD25YF\8]MO
MI/7CJWP)RT3]B[9MK&6@I!*2Y:T8"'):-/_XI1V''8'M'1$XK<!YK\!M!6YM
MM"&K;<VQQ/&$LRWB*AJRJ4(]-K4:W-!"S>*]Y-!+02?C'TP2Y*%SM."P,KA\
M1;A(T>?GBI8P5_*R:Q^A188+N=^-3N=$8IJ),\CP<#]'IR=GZ 31 OU<LTI
MK)B8$C#5Q\RD1;IND)PC2'.27"#7'B''<CR-?/9^N;LO-V%PNA%RNA%RZGSN
MT7RU0YV/1NCIA6K_78H2)V1JP 83A&^($7_\8 ?6)YVK_Y1LSZ/;>72'LL??
M8:9T!AM54*O4>;")X8,P)YM=<%V0.^Z"]H"\#L@;!+JN:);28B7J]7:3EYQM
MB%IQ8H2^<B:TT]&D]'=!7-^->KBZJ,@*];Q^Q^L/\M[B9 U-O+=]!F#]0XRQ
M[X0]6$U4Z-J^'C;H8(-!V!DKA.15<X["7H4MOH(U-32TP2%'?UPU(9[MZDG#
MCC0<)!T\? 9PPP,6UPW&?6)-E.>$1Y#''?)X$/DJ2:J\RK D*9H3V*L)Q6J@
M1ZJ6D>;N AM7.>.2_FG[>D9'^TYU%L<'\.>.&SE!SZ,V+'0<O<FH,QF]:UYJ
M3/)O0@IX=IP6<*4(N%-4GVV=Z>"C@R,C"@.WAWX89%N^;_?(S9V[3[T[;C%?
MT4*@C"Q!9UV$X)TW=WE3D:RLK\-')N%RK8MK>/X0K@*@?\F OZVH&[9[4,5_
M 5!+ P04    " "GB7I:#=R"MBX%   \&@  &0   'AL+W=O<FMS:&5E=',O
M<VAE970W,RYX;6R]66M/XS@4_2M6=K0""6ALY\FVE:"PNTC,",&R^]FDIHTF
MB3N.2X?]]>ND(6GCQY8(\07BY-S;<_TXQW'&&\:_ETM*!?B99T4Y<99"K,Y'
MHS)9TIR49VQ%"_GDF?&<"-GDBU&YXI3,ZZ \&R'7#48Y20MG.J[OW?'IF*U%
MEA;TCH-RG>>$OU[2C&TF#G3>;MRGBZ6H;HRFXQ59T <J'E=W7+9&;99YFM.B
M3%D!.'V>.!?P?(91%5 C_D[IIMRY!E4I3XQ]KQHW\XGC5HQH1A-1I2#RWPN=
MT2RK,DD>/YJD3ON;5>#N]5OVW^OB93%/I*0SEOV3SL5RXD0.F--GLL[$/=O\
M29N"_"I?PK*R_@LV#=9U0+(N!<N;8,D@3XOM?_*SZ8B= .@9 E 3@ X-P$T
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
M?LFZ\1U>."1=*BVJ%HP95(PW?[IIZ[ %\*,#@* %!"\!@P. L 6$KP4,6L#
M5J:18NN04$WCD11K(HTWLIF%+:9%HWS&S;7/M<13AC@=_Q0:2$0^D:FH*J;Q
M0K4BE&=H<\UX#CQEH,A) IJR4IVBY]T\(2?O3T>NQOB&Q4W;6),F5G @EA^0
M&V0M%+GF&62[!"XFWF4?/&<_"8XR)I">D=#_2 (O&/0D-'T]/.R!)Z^'!T?4
MA-U=A)8O/,AG:]Q7V 8XZ >:UG"I:IK"V,&WKT"NP(D_O/,C[TM?4=Z2+'DC
MLIV"#;J"#8ZQQS^89CFU_>-Z@XU005_M&H[(<I@NN(H#/[SP/&_DKK;+LN_G
M1Y&WYY?L^T7G.VX[6H:=EN%1+7.-KX[*S#Z^ZXT&\T3(3(ILF6IR3Z6D7#^1
MJS252UKVZ1SNY?52X3\]DJ,Y_N]MNEMMJ0*9V_:N2"J67#=OO-MM)L@$)XCM
MM"_V<;)<V8;J_J5IQM(-E3GCBI2P0$KO[!P%R*;5-X86M6U^#T)C*[7+ J<C
M2.. YPN!#; U3(!NWL9_ %!+ P04    " "GB7I:?J8EXA<#  #;"0  &0
M 'AL+W=O<FMS:&5E=',O<VAE970W-BYX;6RM5EMOVC 8_2M65DVM1)LK83"(
M1,FF5>JJ"MKMV80/L.K$S#:7[M?/=M((@EO1J2]@.^><?.?$M_Z6\2>Q!)!H
ME]-"#)REE*N>ZXIL"3D65VP%A7HR9SS'4G7YPA4K#GAF2#EU \^+W1R3PDGZ
M9NR>)WVVEI04<,^16.<YYL_70-EVX/C.R\"8+)92#[A)?X47, 'YN+KGJN?6
M*C.20R$(*Q"'^< 9^KVTH_$&\(O 5NRUD78R9>Q)=VYF \?3!0&%3&H%K/XV
M, )*M9 JXT^EZ=2OU,3]]HOZ=^-=>9EB 2-&?Y.97 Z<+PZ:P1ROJ1RS[0^H
M_+2U7L:H,+]H6V$]!V5K(5E>D54%.2G*?[RK<M@C^-$KA* B!*<2PHH0GDJ(
M*D)DDBFMF!Q2+''2YVR+N$8K-=TP81JVLD\*_=DGDJNG1/%D<L<DH ZZ1#=%
MQG) #W@'HH<F:GK-UA00FZ,4YL YS/0S-!0"I$"XF*%;@J>$$DE H/,4)"94
M7"BEQTF*SL\NT!DB!7I8LK50:-%WI2I7O]3-JM*NR]*"5TI+(;M"H=]"@1=$
M%OKH='IHH:>GTX-#NJLRKH,.ZJ #HQ>^JF<"LL50$B,[4:_[GECA# :.6M@"
M^ :<Y/,G/_:^VD+Y2+'T@\0. @OKP,*WU!/+M&NI6;J!0C+^;,NQU(N-GM[N
M-DG0\?KN9C^>8XSO-S"I!>.%->; 3%2;B=YIIF6:]?BWG=K(!;30N S2K+!A
MEO$UIBW=8.M"K;LQ9$ V>$H5<DC5GHV+#)#:_=%(J1");IFPSK&RO/9^-MU&
M-,>0T&\D8X%T[<&TZV#:[__*;R8C]J,1K;(%!]N1+8#V4>GMYMPXAG2;4^--
MR$$ <1U ?'H ^UMJ"FI19027QZ.VG#,NR5\S8',8']5VZ4?MQB<<V5!Q)VSX
MM*""H-NV6^W45CO_9;6%[D#:''6.%N*E6JU!PY$-%44-5&I!!5[<7-;NWDFJ
MKST_,5^00B *<\7SKCHJ$EY>)<J.9"MSN$Z95$>U:2[5[0NX!JCG<Z8.V*JC
MS^OZ/I?\ U!+ P04    " "GB7I:TD\OFA4#  !3"P  &0   'AL+W=O<FMS
M:&5E=',O<VAE970W-RYX;6RM5FMOFS 4_2L6JZ946@OAU2Y+D)J0:/W0*6K:
M[;,+EX *=F8[C_W[V8;2/ A*U7Q);'//\;WG&GSZ:\I>>0H@T*;("1\8J1"+
MGFGR*(4"\VNZ "*?))056,@IFYM\P0#'&E3DIFU9OEG@C!A!7Z]-6="G2Y%G
M!*8,\6518/9O"#E=#XRN\;;PF,U3H1;,H+_ <YB!>%Y,F9R9-4N<%4!X1@EB
MD R,NVYOXJMX'? [@S7?&B-5R0NEKVIR'P\,2R4$.41",6#YMX(1Y+DBDFG\
MK3B->DL%W!Z_L4]T[;*6%\QA1/,_62S2@7%KH!@2O,S%(UW_A*H>3_%%-.?Z
M%ZVK6,M T9(+6E1@F4&1D?(?;RH=M@!=]PC K@#VJ0"G CC[ /\(P*T [JD[
M>!7 .Q7@5P#=3+,42RL=8H&#/J-KQ%2T9%,#W2Z-E@)G1!VLF6#R:29Q(OA%
M!: ;=(7N240+0$]X [R'9O( Q\L<$$W0B!8+2H (KF;O<6B\D<>; ^H,@4"2
MB4O4"4'@+.>7DO!Y%J+.Q26Z0!E!3RE=<DQBWC>%S%KM;495AF&9H7TDPZZ-
M'B@1*4=C$D.\2V#*<NN:[;>:AW8K8PC1-7*ZWY!MV6Y#0J/3X4Y3/9_;??RY
MW2>GP^T6+9WZ_#B:SSG*IQO>D,BP!+K-0/7![/$%CF!@R"\B![8"(_CZI>M;
M/YI:<DZR\)QDXW.23<Y$MM-*MVZEV\8>C):,R;>\]0UOZG/)ZFM6=8^M L?V
M;_OF:KM_AT&N=>/M!H6M^7VT+^<DFS2D[SMVG?Z.WEZMM]>J=P@)2,7C!L&;
M9"[)O*T4KAS7VI.Y(<BWNWLRMZ;U49G/239I2-]U_6:9_5IFOU7F*:.K3/L@
M:</D7:2U%NJ:0QVB;[_&4^T?=-S^;N^?ZL,@Q_7</;E/81J?PC0Y#'*[M_OR
MF%MFH  VU[:-HX@NB2COR'JU=(:A=(;:0>VM2\=XIXV2^4Y3VLT'S.89X2B'
M1%):US>R8ZRT<.5$T(6V'"]42 .CAZETO<!4@'R>4"E\-5$;U#XZ^ ]02P,$
M%     @ IXEZ6A]_2HHT!   7!,  !D   !X;"]W;W)K<VAE971S+W-H965T
M-S@N>&ULK5AK;^(X%/TK5G:T:J5.\P[0!:2V(9I*,SM5V]G]["87\$YBL[8I
M[;]?VTE3""$+FGR!/.XY/O<>QXGO>,/X3[$$D.BUR*F86$LI5U>V+=(E%%A<
MLA50=6?.>(&E.N4+6ZPXX,R BMSV'">R"TRH-1V;:_=\.F9KF1,*]QR)=5%@
M_G8#.=M,+-=ZO_! %DNI+]C3\0HOX!'DC]4]5V=VS9*1 J@@C"(.\XEU[5XE
MK@&8B+\(;,36,=*I/#/V4Y_<91/+T8H@AU1J"JS^7N 6\EPS*1W_5J16/:8&
M;A^_LR<F>97,,Q9PR_*_22:7$VMHH0SF>)W+![;Y E5"H>9+62[,+]I4L8Z%
MTK60K*C 2D%!:/F/7ZM"; '<X # JP#>L0"_ OA-0'0 $%2 X-@1P@H0'@N(
M*D!D:E\6RU0ZQA)/QYQM$-?1BDT?&+L,6A684#VS'B57=XG"R>F?3 (:H,_H
MCJ:L /2$7T%<H4<U@[-U#HC-T6P^!^/_5@QZP KW "FC*<D)-K/D+ :)22[.
M%=V/QQB=?3I'GQ"AZ&G)U@+33(QMJ33KD>VTTA>7^KP#^EP/?6-4+@6:T0RR
M70);)5MG[+UG?.-U,L:07B+?O4">XP4M@FZ/A_MM^?S:Z+-?&STY'NYUU-*O
M9X]O^/R#?,;P%B$W)3!H!^KU\DJL< H32RV( O@+6-/??W,CYX\V2_HDB_LD
MF_5)EO1$MF-E4%L9=+%/CW[*L40)9,!QCAXEEFO)^%L3<X&N"[:FLFUBE#(B
M(T._]UZFWF"D'H67;<-;@OP@V@V*.Q,ZU<@^R9(6^9'GU/)W# IK@\)>#+HP
MM@!2ZRWZRE)ET_;2WN5,.7ZXI3ITFL;LQP3^J.%+9QZG^M(G6=*B?G3 EJBV
M)>K)%O4EI+YSZ%Y<3!0%!RH)SKOLB?;$?W8;[NR'C,)&3-R9SJGN]$F6[*MW
M76_4;L^@MF?0DSWZQBV'C,@+=4\ YNFRRXY!BQW#AA\M,7[#CD[YI]K1)UG2
M*7['C&%MQK#3C#LJU407LO)"K520KCF11*]+WU?JG2()7916S%ZA6+46?KBO
MRW.:3T)+D#L*&[7O5'MJ[?LD2_;E'UBF1G7I1YVEO\[^49L)M264Z(FA&-2*
MH^:ZJ?17@I_58R#?VHH]ZA!25OI_(^).9:>6N4^RI$O[3IE=YV,_Y?2TX'R7
M2^#HPYC.=W,UZNZ$#IM>M$4-&Z_PN#N!4_WHE2UI2R \Y,G6'M?M].2>LQ=B
M>B%SQM6&U/@B]><0.J-F WS>6G-W_S-NY#77^)8H/PCWBGX,U^PHKJ0E*G"'
M4:-*]E93H "^,.T;@5(]P\K=<GVU;!'%ND6DFPJ-Z]?NU;5IF-@?-&7?Z1OF
M"T(%RF&N*)W+@?*-EZV<\D2RE6D]/#,I66$.EX#5YD$'J/MSIJI?G>@!ZH;:
M]#]02P,$%     @ IXEZ6IVP3#DH P  L L  !D   !X;"]W;W)K<VAE971S
M+W-H965T-SDN>&ULM59K3]LP%/TK5H8FD!AY-A361@)"-:2Q(1[;9Y/<MA:)
MG=ENR_[]KIT02@E5$=V7UH][SGT<Q[Z#A9 /:@J@R6-9<#5TIEI7QZZKLBF4
M5!V("CCNC(4LJ<:IG+BJDD!S"RH+-_"\V"TIXTXRL&M7,AF(F2X8ARM)U*PL
MJ?Q["H58#!W?>5JX9I.I-@MN,JCH!&Y WU57$F=NRY*S$KAB@A,)XZ%SXA^/
M8F-O#7XQ6*BE,3&9W OQ8"87^=#Q3$!00*8- \6_.9Q!41@B#.-/P^FT+@UP
M>?S$/K*Y8R[W5,&9*'ZS7$^'3M\A.8SIK-#78O$-FGQZAB\3A;*_9-'8>@[)
M9DJ+L@%C!"7C]3]];.JP!/"C-P!! P@V!80-(%P%Q&\ H@80;>JAUP!ZFP+B
M!F#%=.MBV4JG5--D(,6"2&.-;&9@Y;)H+##CYF#=:(F[#'$Z^2$TD$/RA5SP
M3)1 ;NDCJ&-R@P<XGQ5 Q/AIYQ[P&,.2W3Y)<:0TRPCE.4&A449.=E/0E!5J
M#TGO;E*RN[-'=@CCY'8J9@HMU<#5&+GQ[V9-E&D=9?!&E'Y +@774T7.>0[Y
M2P(74V[S#I[R/@W6,J:0'9#0WR>!%T0= 9UM#@^[\OF8]_./>1]M#@_6U#)L
MSU!H^<(W^:S@'8&<UL"H&V@NS6-5T0R&#MZ*"N0<G.3S)S_VOG9)LDVR=)MD
MY]LD&VV)[(6442MEM(X]:;[NW>]"X0<\EJ(D9_CA,3YC?$)^5B"I>1#4Z]L
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
M4LK\QK9%M,24B"N68Z:>S!E/B513OK!%SI'$AI0FMN<X73LE-+."@5F;\&#
MUC*A&4XXB'6:$KX;8<*V0\NU]@M/=+&4>L$.!CE9X!3E<S[A:F97*C%-,1.4
M9<!Q/K1NW9NPI_$&\$)Q*P[&H#.9,;;2DX=X:#DZ($PPDEJ!J+\-CC%)M) *
MXU^I:55;:N+A>*]^;W)7N<R(P#%+_M)8+H=6WX(8YV2=R">V_8EE/AVM%[%$
MF%_8EEC'@F@M)$M+LHH@I5GQ3UY+'PX(7J>!X)4$[Y30;B#X)<$_=X=V26@;
M9XI4C \AD208<+8%KM%*30^,F8:MTJ>9/O:IY.HI53P9_&(2H0^7\#O7YR!N
M8*HJ*UXG"&P.TR7A>*E]C6%"=NJX)=QN"8];,)4L6NU9+7@AR9J8D[P5JH2*
M9;@(41*:B.]J@^=I"!=?OP]LJ<+6F]M1&>*H"-%K"-'UX)%E<BG@+HLQ/A:P
M5;Y5TMX^Z9'WKF*(T17X;@L\QVO7!#0^G^[7T,/SZ=X[V?C5$?I&SV_4,Q[7
M&5L0V_5$?:/<B)Q$.+34E2&0;] *OGUQN\Z/.E,^4BS\(+$CP]J58>WWU(.B
MJD>FJL<L53>H*$N7<Y(MT)3Y; >'N)/JOR>4FYK'PWIOP=UKKBXTA0_IAL:8
M5<3:XRG"=(M"T1?T)G"N?+<SL#>'QM?#G.MC6-@ >U,[,JM3F=7Y=+->6*(T
M$RIW\$0DUEE5!.GZ)U9Y[HE7#;AN[\2L6IQWW>_5N]6MW.I^EEM/5*S@GB/"
M0R91O16RT:QN77).6U]61V8UX'HG!1@VX XJ\,BL7F56[]-+ZP_RM,ZB]R/K
MP X)%W -:?'E<?L0DUW=2SP^3ZFW5^HV"87G"?6KD+P:I>(<[(-^($6^,'V5
M@(BM,UE\):O5HG4;J=;-M#@GZZJENS6=C/TF4_2#CX0OJ/K")SA7DLY53[U0
MO.BQBHEDN>DZ9DRJ'L8,EZHM1:X!ZOF<J<ZCG.@-JD8W^ ]02P,$%     @
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
MWV":#N#;MX2P\YMT!\6S*K/_ %!+ P04    " "GB7I:HV LG\L"  ! "
M&0   'AL+W=O<FMS:&5E=',O<VAE970X-"YX;6RM5EU/VS 4_2M6AB8F;>0[
M+5T;B39LXX&!Z-B>37+;6"1V9CLM_/O93LA*FB*0>&G\<<[Q/=?6O9UN&;\7
M.8!$#V5!Q<S*I:PFMBW2'$HL3E@%5.VL&"^Q5%.^MD7% 6>&5!:VYSB176)"
MK7AJUJYY/&6U+ B%:XY$79:8/\ZA8-N9Y5I/"S=DG4N]8,?3"J]A"?*VNN9J
M9G<J&2F!"L(HXK":66?N)(DTW@!^$]B*G3'23NX8N]>3BVQF.3H@*""56@&K
MSP864!1:2(7QM]6TNB,U<7?\I/[->%=>[K" !2O^D$SF,VMLH0Q6N"[D#=O^
M@-9/J/525@CSB[8MUK%06@O)RI:L(B@);;[XH<W##L&-#A"\EN#U"<$!@M\2
M_-<2@I80F,PT5DP>$BQQ/.5LB[A&*S4],,DT;&6?4'WM2\G5+E$\&?]D$M I
M^H*^ UMS7.4D11>T>4[J7B9HJ1Y:5A> KE8',.@X 8E)(3XIF=ME@HZ//J$C
M1"CZE;-:8)J)J2U5K/I$.VWCFC=Q>0?B<CUTR:C,!3JG&63/!6QELG/J/3F=
M>R\J)I">(-_]C#S'"P8"6KR>[@_0D]?3O1?<^-V]^4;//ZAG4CZ4V(88#!-U
M&9F("J<PLU2=$, W8,4?/[B1\W4H*>\IEKR3V+.$!5W"@I?4XP4K*TP?T1(7
M(/3CE#F@6THD9&@IL83!7#::D='4%703>_YXI.Y_LYND?93O!&X/E0R@@E _
MQ<V K;"S%;[-UGG-54\8\M((A3OGCT=.V+,R #IUQSTG^Z"1YQXP$G5&HC<8
MN5*WPX=,1'M)'/M>W\0^R'7&I_W[&$*%@=^S8>_4UA+XVO0H@5)64]D4GVZU
M:8-SU09-N^BMJ_9X9KJ"_5^FZ:V7F*\)%:B E9)T3D8JL[SI5\U$LLI4\#LF
M53\PPURU>. :H/973%7Q=J(/Z/XTQ/\ 4$L#!!0    ( *>)>EJJZT@TXP(
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
MI0*Q_YF+!,Q7T@,44WO[_P!02P,$%     @ IXEZ6@#4'[DR!@  T#L  !D
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
M'9:/'C82OLN6O3WR).';[.6&>2L6I0)Q_(F+_,LWTA,4BWC[_P)02P,$%
M  @ IXEZ6O$_(R&= @  H0<  !D   !X;"]W;W)K<VAE971S+W-H965T.#@N
M>&ULK55=3]LP%/TK5H8FD#;RV3*Q-A)M-K$'MHJ.[=E-;AL+Q\YLIX5_OVLG
M9"VT%9-X2?QQS_$]Q\F]HXU4][H$,.2AXD*/O=*8^M+W=5Y"1?6YK$'@SE*J
MBAJ<JI6O:P6T<*"*^U$0#/V*,N&E([<V4^E(-H8S 3-%=%-55#U.@,O-V N]
MIX5;MBJ-7?#344U7, =S5\\4SOR>I6 5",VD( J68^\JO,P&-MX%_&*PT5MC
M8I4LI+RWDV_%V ML0L A-Y:!XFL-4^#<$F$:?SI.KS_2 K?'3^Q?G7;4LJ :
MII+_9H4IQ]XGCQ2PI TWMW)S#9T>EV NN79/LNEB X_DC3:RZL"80<5$^Z8/
MG0];@'!X !!U@.@Y(#D B#M _%I T@$2YTPKQ?F044/3D9(;HFPTLMF!,].A
M43X3]MKG1N$N0YQ)OTL#)(S(1S)3LFAR0^:4 Z&B(+-&Y25:2J:RJIC!NS::
MG&9@*./Z#!%W\XR<GIR1$\($^5G*1B-,CWR#>5EV/^]RF+0Y1 =RP.-OI#"E
M)E]$ <4N@8^">E71DZI)=)0Q@_R<Q.$'$@51LB>AZ>OA\1YX]GIX=$1-W-]1
M[/CB@WS.\GW&ML!D/]"6C$M=TQS&'M8$#6H-7OK^73@,/N\SY2W)LC<BVS$L
MZ0U+CK&GM_*1<O.(GV4N*R"GHOW(S_8YV#(-'9.MD>LT'(S\];8O+T.B8#<D
M.QJRHV'0:Q@<U3#%/T)A56PH)S\6G*VHK9/[% Q>G!U?)!?/-!P]['_O]HW(
M6E_\K>)5@5JY)J!)+AMAVC^^7VW[S 3[C*O'S]:Q_URYLNO_HVF;UPU5*R8T
MX;!$RN#\ @6HMB&T$R-K5R(7TF#!=<,2>R@H&X#[2XE?4#>Q!_1=.?T+4$L#
M!!0    ( *>)>EK>[FR/@ (  *H&   9    >&PO=V]R:W-H965T<R]S:&5E
M=#@Y+GAM;*U574_;,!3]*U:&)I 8SA>%L302;9BV!Z8*QO;L)C>-A6-GMM/"
MOY_MI*%E*>)A+XD_[CGWWA/[)-D(^:@J (V>:L;5U*NT;JXP5GD%-5%GH@%N
M=DHA:Z+-5*ZP:B20PH%JAD/?G^":4.ZEB5M;R#01K6:4PT(BU=8UD<\S8&(S
M]0)ONW!'5Y6V"SA-&K*">] /S4*:&1Y8"EH#5U1P)*&<>M?!51;;>!?PB\)&
M[8R1[60IQ*.=?"^FGF\+ @:YM@S$O-8P!\8LD2GC3\_I#2DM<'>\9?_J>C>]
M+(F"N6"_::&KJ7?IH0)*TC)])S;?H._GW/+E@BGW1)LN]L+W4-XJ+>H>;"JH
M*>_>Y*G780<03 X PAX0O@;$!P!1#XC>"XA[@),:=ZTX'3*B29I(L4'21ALV
M.W!B.K1IGW+[V>^U-+O4X'3Z0VA 080^H9NZ8>(9 ,V 0TDU6C#"%3K.0!/*
MU(D)>;C/T/'1"3I"E*.?E6@5X85*L#:%6#J<]TEG7=+P0-(@1+>"ZTJA&UY
ML4^ 30=#&^&VC5GX)F,&^1F*@E,4^F$\4M#\_?!H!)Z]'QZ^T4TT?)3(\44'
M^9SD8\)VP'@<:#WB2C4DAZEG3$"!7(.7?OP03/PO8Z+\3[+L/Y'M"18/@L5O
ML1O!2K-2H+DY59(N6V<I]OR>;H^U1!E5N02[8^QM/_*Z%BW78W)W:2<NK770
M=1KZGQ.\WE7QWYC@,MZ/R49BSE]XNI[QSBVN0:Z<&RJ4V]JZFS"L=H8[,X;K
MC.G5NC'B:^<_^(6F<_%;(E?47&H&I:'TSR[./20[9^PF6C3.*Y9"&^=QP\K\
M3$#: +-?"N,7_<0F&'Y/Z5]02P,$%     @ IXEZ6J#):+$L P  9PP  !D
M  !X;"]W;W)K<VAE971S+W-H965T.3 N>&ULK5=M;]HP$/XKIZR:6JEK( 2H
M.HC4 M4JM2OJRZ9]=,E!LB8VM0VT_WYG)\V I1'M\H78SCW/G>_ACJ.W$O)1
M18@:GM.$J[X3:3T_<5TUB3!EZDC,D=.;J9 IT[25,U?-);+0@M+$]1J-CINR
MF#M!SYZ-9= 3"YW$',<2U")-F7PYPT2L^D[3>3VXB6>1-@=NT)NS&=ZBOI^/
M)>W<@B6,4^0J%APD3OO.:?-DU#7VUN!'C"NUM@9SDP<A'LWF(NP[#1,0)CC1
MAH'18XD#3!)#1&$\Y9Q.X=( U]>O[.?V[G27!Z9P()*?<:BCOG/L0(A3MDCT
MC5A]P_P^;<,W$8FRG[#*;1L.3!9*BS0'4P1IS+,G>\[SL 9H^F\ O!S@;0,Z
M;P!:.:"UJP<_!_B[ MHYP%[=S>YN$S=DF@4]*58@C36QF87-OD53OF)NOB>W
M6M+;F' Z^"XT0M.'+W")E&\%^T/4+$[4 1W=WPYA?^\ ]B#F<!>)A6(\5#U7
MDV,#=R>YDT'FQ'O#2=.#*\%UI&#$0PPW"5R*N C;>PW[S*MD'.+D"%K-0_ :
MGE\6T/_!A[O#6R7PT>YPKR(9K4+#EN5KO<EG%2L)Y"P#^N5 TX-.U)Q-L.]0
MDU$HE^@$GS\U.XVO93FMDVQ8)]FH)K*-[/M%]OTJ]N 2E4*$ZSE*IF,^RPH)
MJ(7#F,E'>R(TW*%,04QA0(4@J3V6J57MJ LOR&1I^54"WZM,G62CFL@VE&D7
MRK0_JLSI@AJK>(@3W$F8:C^M!J2VO95)4PE]KS1UDHUJ(MN0IE-(T_F(-.=;
M17,:_J:?0!I+J'Y$;C-F+^9 P0T^+6*)(8R6*%_@G 8.^&4J!,[(+H1K#H.(
M\1G"!:W&%V7"5D;YWOY8)]DP(^M8,C/L+8/C;L]=K@M8D[\- ;N%@-U* ;>4
M.Z3R4:6E4TGSW@QW_TE*I[.9E&&)27LK;R4F?F&29<-=FZA2E#,[RBJ8B 77
MV912G&;3\H"F93M5;IW3%'UJAT?W+TTV@E\Q.8NY@@2G1-DXZE(]RFRLS39:
MS.W<]B T-2N[C.B? $IC0.^G@F:W?&,<%/\M@C]02P,$%     @ IXEZ6MUP
MG'6  @  GP<  !D   !X;"]W;W)K<VAE971S+W-H965T.3$N>&ULK55=3]LP
M%/TK5H8FD I)DS1#71H)6DV;Q!B"L3V[Z4UCX=B9[;;P[W?MA*BPM()J+XD_
M[CD^Y]J^3C=2/>@2P)#'B@L]\4ICZK'OZ[R$BNHS68/ F4*JBAKLJJ6O:P5T
MX4 5]\,@2/R*,N%EJ1N[45DJ5X8S 3>*Z%554?5T"5QN)M[0>QZX9<O2V $_
M2VNZA#LP]_6-PI[?L2Q8!4(S*8B"8N)=#,?3Q,:[@%\,-GJK3:R3N90/MO-M
M,?$"*P@XY,8R4/RM80J<6R*4\:?E]+HE+7"[_<S^Q7E'+W.J82KY;[8PY<0[
M]\@""KKBYE9NOD+K9V3Y<LFU^Y)-&QMX)%]I(ZL6C HJ)IH_?6SSL 48QCL
M80L(WPJ(6D#DC#;*G*T9-31+E=P09:.1S39<;AP:W3!A=_'.*)QEB#/9M31
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
M)IBP*29LA@F;8\(6&:QUFA;-CO32Z[DL,IN6/*$!11=RIU/D3N=G<V>=37?
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
MY=M/@WHWON55E:]W7S[P;,&+)E#__"ZO[TK;;YHG>,Z+[[O=N?H_4$L#!!0
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
M=_E.O8?Q\U"'6\_7FL__3JK'RW?K[?'7Y=?%R0MUQ;F]KQB>_@)02P,$%
M  @ IXEZ6BJB9?I) @  %38  !,   !;0V]N=&5N=%]4>7!E<UTN>&ULS=M-
M;MLP$(;AJQC:!A8C2B2E(LZF[;;-HA=0)3H6K#^03.K<OK2<!&B1&@U<H._&
M@DUROA$'>':^^?8T6[\Z#/WH-\DNA/F#$+[9V:'VZ33;,:YL)S?4(7YU]V*N
MFWU];X6\OM:BF<9@Q[ .QQK)[<TGNZT?^K#Z?(@_^VX:-XFSO4]6'T\;CUF;
MI)[GOFOJ$-?%X]C^EK)^3DCCR66/WW6SOXH;$O%FPG'ESP'/Y[X^6N>ZUJ[N
M:A>^U$/<)0Z]\.&IMSX]7^*-'J?MMFML.S4/0SR2^MG9NO4[:\/0IZ>B5^>3
M0[QA>_K,+LY?RIP+C#OOW#3[.#%GWQ_W,I+CZ?4<"UD7NO.O^)H82U_\?O8X
M[=:V?YD=K_?'Y/;+/+Q8'I??\:\S?JW_SCXDI(\<TD<!Z4-!^M"0/@RDCQ+2
M1P7I([NF-$(1-:.0FE%,S2BH9A15,PJK&<75C )K1I%54F25%%DE159)D552
M9)44625%5DF155)DE119<XJL.476G")K3I$UI\B:4V3-*;+F%%ESBJPY1=:"
M(FM!D;6@R%I09"THLA8460N*K 5%UH(B:T&155%D5119%45619%54615%%D5
M159%D5519%44635%5DV155-DU119-45639%54V35%%DU159-D=509#4460U%
M5D.1U5!D-119#4560Y'54&0U%%E+BJPE1=:2(FM)D;6DR%I29"TILI8464N*
MK"5%UHHB:T61M:+(6E%DK2BR5O]3UN_3M/_'\<LS'>IN?,D7R[_!;G\"4$L!
M A0#%     @ IXEZ6D;'34B5    S0   !               ( !     &1O
M8U!R;W!S+V%P<"YX;6Q02P$"% ,4    " "GB7I:=-V1[?$    K @  $0
M            @ '#    9&]C4')O<',O8V]R92YX;6Q02P$"% ,4    " "G
MB7I:F5R<(Q &  "<)P  $P              @ 'C 0  >&PO=&AE;64O=&AE
M;64Q+GAM;%!+ 0(4 Q0    ( *>)>EH;?VV%H <  .$Q   8
M  " @20(  !X;"]W;W)K<VAE971S+W-H965T,2YX;6Q02P$"% ,4    " "G
MB7I:1? /+%(&   N&@  &               @('Z#P  >&PO=V]R:W-H965T
M<R]S:&5E=#(N>&UL4$L! A0#%     @ IXEZ6JFV=/N= @  9@<  !@
M         ("!@A8  'AL+W=O<FMS:&5E=',O<VAE970S+GAM;%!+ 0(4 Q0
M   ( *>)>EK^H3ZAG04  )<6   8              " @549  !X;"]W;W)K
M<VAE971S+W-H965T-"YX;6Q02P$"% ,4    " "GB7I:8EQ/+]("  !?"
M&               @($H'P  >&PO=V]R:W-H965T<R]S:&5E=#4N>&UL4$L!
M A0#%     @ IXEZ6D-''O- !P  *3(  !@              ("!,"(  'AL
M+W=O<FMS:&5E=',O<VAE970V+GAM;%!+ 0(4 Q0    ( *>)>EHS7N-28@<
M *$A   8              " @:8I  !X;"]W;W)K<VAE971S+W-H965T-RYX
M;6Q02P$"% ,4    " "GB7I:'"V!Q#L"  "2!@  &               @($^
M,0  >&PO=V]R:W-H965T<R]S:&5E=#@N>&UL4$L! A0#%     @ IXEZ6B<X
M'F^^$P  1S0  !@              ("!KS,  'AL+W=O<FMS:&5E=',O<VAE
M970Y+GAM;%!+ 0(4 Q0    ( *>)>EK4MYS@<00  +()   9
M  " @:-'  !X;"]W;W)K<VAE971S+W-H965T,3 N>&UL4$L! A0#%     @
MIXEZ6A6>  LQ P  *0@  !D              ("!2TP  'AL+W=O<FMS:&5E
M=',O<VAE970Q,2YX;6Q02P$"% ,4    " "GB7I:P@_D!AD$   B"@  &0
M            @(&S3P  >&PO=V]R:W-H965T<R]S:&5E=#$R+GAM;%!+ 0(4
M Q0    ( *>)>EH:FMV$!P(  +8$   9              " @0-4  !X;"]W
M;W)K<VAE971S+W-H965T,3,N>&UL4$L! A0#%     @ IXEZ6O*:N+<C!@
M/@X  !D              ("!058  'AL+W=O<FMS:&5E=',O<VAE970Q-"YX
M;6Q02P$"% ,4    " "GB7I:/-Q^-3D$  "*"0  &0              @(&;
M7   >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;%!+ 0(4 Q0    ( *>)>EKT
MX'-N4@@  +@4   9              " @0MA  !X;"]W;W)K<VAE971S+W-H
M965T,38N>&UL4$L! A0#%     @ IXEZ6I?\Q9]] @  C04  !D
M     ("!E&D  'AL+W=O<FMS:&5E=',O<VAE970Q-RYX;6Q02P$"% ,4
M" "GB7I:6-@?=I8"  #.!0  &0              @(%(;   >&PO=V]R:W-H
M965T<R]S:&5E=#$X+GAM;%!+ 0(4 Q0    ( *>)>EIB47%"(P,  #('   9
M              " @15O  !X;"]W;W)K<VAE971S+W-H965T,3DN>&UL4$L!
M A0#%     @ IXEZ6JB#F==< P  D0<  !D              ("!;W(  'AL
M+W=O<FMS:&5E=',O<VAE970R,"YX;6Q02P$"% ,4    " "GB7I:L-K^%LP"
M   V!@  &0              @($"=@  >&PO=V]R:W-H965T<R]S:&5E=#(Q
M+GAM;%!+ 0(4 Q0    ( *>)>EJ6B<-7J00  (4+   9              "
M@05Y  !X;"]W;W)K<VAE971S+W-H965T,C(N>&UL4$L! A0#%     @ IXEZ
M6N<:R70U P  .P<  !D              ("!Y7T  'AL+W=O<FMS:&5E=',O
M<VAE970R,RYX;6Q02P$"% ,4    " "GB7I:G' \63D#  "+!P  &0
M        @(%1@0  >&PO=V]R:W-H965T<R]S:&5E=#(T+GAM;%!+ 0(4 Q0
M   ( *>)>EI[E:*KW@0  .0*   9              " @<&$  !X;"]W;W)K
M<VAE971S+W-H965T,C4N>&UL4$L! A0#%     @ IXEZ6G!U"F,$!   ^PD
M !D              ("!UHD  'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6Q0
M2P$"% ,4    " "GB7I:A5A^7-("  !T!@  &0              @($1C@
M>&PO=V]R:W-H965T<R]S:&5E=#(W+GAM;%!+ 0(4 Q0    ( *>)>EKYKG!]
M2 ,  ,@'   9              " @1J1  !X;"]W;W)K<VAE971S+W-H965T
M,C@N>&UL4$L! A0#%     @ IXEZ6@B%W(YP @  DP4  !D
M ("!F90  'AL+W=O<FMS:&5E=',O<VAE970R.2YX;6Q02P$"% ,4    " "G
MB7I:$.+N.H,"  "O!0  &0              @(% EP  >&PO=V]R:W-H965T
M<R]S:&5E=#,P+GAM;%!+ 0(4 Q0    ( *>)>EH9P6,B%@0  "L)   9
M          " @?J9  !X;"]W;W)K<VAE971S+W-H965T,S$N>&UL4$L! A0#
M%     @ IXEZ6AO%DFH] P  7@<  !D              ("!1YX  'AL+W=O
M<FMS:&5E=',O<VAE970S,BYX;6Q02P$"% ,4    " "GB7I:4>^.5]@"   @
M!@  &0              @(&[H0  >&PO=V]R:W-H965T<R]S:&5E=#,S+GAM
M;%!+ 0(4 Q0    ( *>)>EKU0*D;E (  ,@%   9              " @<JD
M  !X;"]W;W)K<VAE971S+W-H965T,S0N>&UL4$L! A0#%     @ IXEZ6@-Y
MQ#R( P  P@<  !D              ("!E:<  'AL+W=O<FMS:&5E=',O<VAE
M970S-2YX;6Q02P$"% ,4    " "GB7I:S:*L#X0$  "'"0  &0
M    @(%4JP  >&PO=V]R:W-H965T<R]S:&5E=#,V+GAM;%!+ 0(4 Q0    (
M *>)>EJZA ^9?0(  *<%   9              " @0^P  !X;"]W;W)K<VAE
M971S+W-H965T,S<N>&UL4$L! A0#%     @ IXEZ6J0646E\!   .@H  !D
M             ("!P[(  'AL+W=O<FMS:&5E=',O<VAE970S."YX;6Q02P$"
M% ,4    " "GB7I:_D2M[>P#  #H"   &0              @(%VMP  >&PO
M=V]R:W-H965T<R]S:&5E=#,Y+GAM;%!+ 0(4 Q0    ( *>)>EHL8WU!T0(
M "0&   9              " @9F[  !X;"]W;W)K<VAE971S+W-H965T-# N
M>&UL4$L! A0#%     @ IXEZ6KZGRGT] P  _0<  !D              ("!
MH;X  'AL+W=O<FMS:&5E=',O<VAE970T,2YX;6Q02P$"% ,4    " "GB7I:
M@D)G>+ "   ]!@  &0              @($5P@  >&PO=V]R:W-H965T<R]S
M:&5E=#0R+GAM;%!+ 0(4 Q0    ( *>)>EHN5@"OT ,  -P(   9
M      " @?S$  !X;"]W;W)K<VAE971S+W-H965T-#,N>&UL4$L! A0#%
M  @ IXEZ6J(I9=X3!   ^@D  !D              ("! \D  'AL+W=O<FMS
M:&5E=',O<VAE970T-"YX;6Q02P$"% ,4    " "GB7I:C_*:D8P"  #5!0
M&0              @(%-S0  >&PO=V]R:W-H965T<R]S:&5E=#0U+GAM;%!+
M 0(4 Q0    ( *>)>EKLUQEF> 0  + )   9              " @1#0  !X
M;"]W;W)K<VAE971S+W-H965T-#8N>&UL4$L! A0#%     @ IXEZ6MW\L^M$
M P  #P@  !D              ("!O]0  'AL+W=O<FMS:&5E=',O<VAE970T
M-RYX;6Q02P$"% ,4    " "GB7I:AE-"F+8"  #K!0  &0
M@($ZV   >&PO=V]R:W-H965T<R]S:&5E=#0X+GAM;%!+ 0(4 Q0    ( *>)
M>EI*ZQ=H?0,  !8(   9              " @2?;  !X;"]W;W)K<VAE971S
M+W-H965T-#DN>&UL4$L! A0#%     @ IXEZ6J+;FR[% @  %@8  !D
M         ("!V]X  'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6Q02P$"% ,4
M    " "GB7I:GCVVS&\"  ""!0  &0              @('7X0  >&PO=V]R
M:W-H965T<R]S:&5E=#4Q+GAM;%!+ 0(4 Q0    ( *>)>EIH<XL%[P(  &P&
M   9              " @7WD  !X;"]W;W)K<VAE971S+W-H965T-3(N>&UL
M4$L! A0#%     @ IXEZ6CZ<1ZEJ @  CP4  !D              ("!H^<
M 'AL+W=O<FMS:&5E=',O<VAE970U,RYX;6Q02P$"% ,4    " "GB7I:$3WP
M^NH"  !E!P  &0              @(%$Z@  >&PO=V]R:W-H965T<R]S:&5E
M=#4T+GAM;%!+ 0(4 Q0    ( *>)>EK\+)L@LP(  ",&   9
M  " @67M  !X;"]W;W)K<VAE971S+W-H965T-34N>&UL4$L! A0#%     @
MIXEZ6HMB5E X P  @@<  !D              ("!3_   'AL+W=O<FMS:&5E
M=',O<VAE970U-BYX;6Q02P$"% ,4    " "GB7I:4]R;HEH"  !-!0  &0
M            @(&^\P  >&PO=V]R:W-H965T<R]S:&5E=#4W+GAM;%!+ 0(4
M Q0    ( *>)>EKUE>:8A@(  *D%   9              " @4_V  !X;"]W
M;W)K<VAE971S+W-H965T-3@N>&UL4$L! A0#%     @ IXEZ6FC9-5[% @
M&08  !D              ("!#/D  'AL+W=O<FMS:&5E=',O<VAE970U.2YX
M;6Q02P$"% ,4    " "GB7I:>4OE7]0"   A!@  &0              @($(
M_   >&PO=V]R:W-H965T<R]S:&5E=#8P+GAM;%!+ 0(4 Q0    ( *>)>EKD
M 'JS=0(  ,4%   9              " @1/_  !X;"]W;W)K<VAE971S+W-H
M965T-C$N>&UL4$L! A0#%     @ IXEZ6DPZ?,/\ @  )0<  !D
M     ("!OP$! 'AL+W=O<FMS:&5E=',O<VAE970V,BYX;6Q02P$"% ,4
M" "GB7I:X;$_&=T"  "!!@  &0              @('R! $ >&PO=V]R:W-H
M965T<R]S:&5E=#8S+GAM;%!+ 0(4 Q0    ( *>)>EJS92R:H0,  ,X'   9
M              " @08( 0!X;"]W;W)K<VAE971S+W-H965T-C0N>&UL4$L!
M A0#%     @ IXEZ6AS%/TUW @  :P@  !D              ("!W@L! 'AL
M+W=O<FMS:&5E=',O<VAE970V-2YX;6Q02P$"% ,4    " "GB7I:+D5CT[\#
M  !J$   &0              @(&,#@$ >&PO=V]R:W-H965T<R]S:&5E=#8V
M+GAM;%!+ 0(4 Q0    ( *>)>EI Z*W)D@(  +H&   9              "
M@8(2 0!X;"]W;W)K<VAE971S+W-H965T-C<N>&UL4$L! A0#%     @ IXEZ
M6F!TN XX @  '04  !D              ("!2Q4! 'AL+W=O<FMS:&5E=',O
M<VAE970V."YX;6Q02P$"% ,4    " "GB7I:!L:O#^ "  #)"   &0
M        @(&Z%P$ >&PO=V]R:W-H965T<R]S:&5E=#8Y+GAM;%!+ 0(4 Q0
M   ( *>)>EJZZBB]V@4  -06   9              " @=$: 0!X;"]W;W)K
M<VAE971S+W-H965T-S N>&UL4$L! A0#%     @ IXEZ6G7]Z>L+!0  4!D
M !D              ("!XB ! 'AL+W=O<FMS:&5E=',O<VAE970W,2YX;6Q0
M2P$"% ,4    " "GB7I:DS<-WQ(#  !<"0  &0              @($D)@$
M>&PO=V]R:W-H965T<R]S:&5E=#<R+GAM;%!+ 0(4 Q0    ( *>)>EH-W(*V
M+@4  #P:   9              " @6TI 0!X;"]W;W)K<VAE971S+W-H965T
M-S,N>&UL4$L! A0#%     @ IXEZ6M"Y8M?] 0  T00  !D
M ("!TBX! 'AL+W=O<FMS:&5E=',O<VAE970W-"YX;6Q02P$"% ,4    " "G
MB7I:Z;Z'VYX"  ![!P  &0              @($&,0$ >&PO=V]R:W-H965T
M<R]S:&5E=#<U+GAM;%!+ 0(4 Q0    ( *>)>EI^IB7B%P,  -L)   9
M          " @=LS 0!X;"]W;W)K<VAE971S+W-H965T-S8N>&UL4$L! A0#
M%     @ IXEZ6M)/+YH5 P  4PL  !D              ("!*3<! 'AL+W=O
M<FMS:&5E=',O<VAE970W-RYX;6Q02P$"% ,4    " "GB7I:'W]*BC0$  !<
M$P  &0              @(%U.@$ >&PO=V]R:W-H965T<R]S:&5E=#<X+GAM
M;%!+ 0(4 Q0    ( *>)>EJ=L$PY* ,  + +   9              " @> ^
M 0!X;"]W;W)K<VAE971S+W-H965T-SDN>&UL4$L! A0#%     @ IXEZ6JBI
MCZQ4!   )A,  !D              ("!/T(! 'AL+W=O<FMS:&5E=',O<VAE
M970X,"YX;6Q02P$"% ,4    " "GB7I:JO;E@HX$   T&   &0
M    @('*1@$ >&PO=V]R:W-H965T<R]S:&5E=#@Q+GAM;%!+ 0(4 Q0    (
M *>)>EI];>%N.@,  /0*   9              " @8]+ 0!X;"]W;W)K<VAE
M971S+W-H965T.#(N>&UL4$L! A0#%     @ IXEZ6FRC4EB4!@  MS(  !D
M             ("! $\! 'AL+W=O<FMS:&5E=',O<VAE970X,RYX;6Q02P$"
M% ,4    " "GB7I:HV LG\L"  ! "   &0              @('+50$ >&PO
M=V]R:W-H965T<R]S:&5E=#@T+GAM;%!+ 0(4 Q0    ( *>)>EJJZT@TXP(
M &8)   9              " @<U8 0!X;"]W;W)K<VAE971S+W-H965T.#4N
M>&UL4$L! A0#%     @ IXEZ6DW'$%(F!@  YCL  !D              ("!
MYUL! 'AL+W=O<FMS:&5E=',O<VAE970X-BYX;6Q02P$"% ,4    " "GB7I:
M -0?N3(&  #0.P  &0              @(%$8@$ >&PO=V]R:W-H965T<R]S
M:&5E=#@W+GAM;%!+ 0(4 Q0    ( *>)>EKQ/R,AG0(  *$'   9
M      " @:UH 0!X;"]W;W)K<VAE971S+W-H965T.#@N>&UL4$L! A0#%
M  @ IXEZ6M[N;(^  @  J@8  !D              ("!@6L! 'AL+W=O<FMS
M:&5E=',O<VAE970X.2YX;6Q02P$"% ,4    " "GB7I:H,EHL2P#  !G#
M&0              @($X;@$ >&PO=V]R:W-H965T<R]S:&5E=#DP+GAM;%!+
M 0(4 Q0    ( *>)>EK=<)QU@ (  )\'   9              " @9MQ 0!X
M;"]W;W)K<VAE971S+W-H965T.3$N>&UL4$L! A0#%     @ IXEZ6O'E#?41
M P  J0H  !D              ("!4G0! 'AL+W=O<FMS:&5E=',O<VAE970Y
M,BYX;6Q02P$"% ,4    " "GB7I:G81QKK "   S!@  &0
M@(&:=P$ >&PO=V]R:W-H965T<R]S:&5E=#DS+GAM;%!+ 0(4 Q0    ( *>)
M>EIE[E:A8 4   (F   9              " @8%Z 0!X;"]W;W)K<VAE971S
M+W-H965T.30N>&UL4$L! A0#%     @ IXEZ6BEFRDEH#   0I@  !D
M         ("!&( ! 'AL+W=O<FMS:&5E=',O<VAE970Y-2YX;6Q02P$"% ,4
M    " "GB7I:6,%B&E(#  "N%0  #0              @ &WC $ >&PO<W1Y
M;&5S+GAM;%!+ 0(4 Q0    ( *>)>EJ7BKL<P    !,"   +
M  "  320 0!?<F5L<R\N<F5L<U!+ 0(4 Q0    ( *>)>EKH5F:.7@8  #L_
M   /              "  1V1 0!X;"]W;W)K8F]O:RYX;6Q02P$"% ,4
M" "GB7I:^C"$:+D"  #D-P  &@              @ &HEP$ >&PO7W)E;',O
M=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4    " "GB7I:*J)E^DD"   5-@
M$P              @ &9F@$ 6T-O;G1E;G1?5'EP97-=+GAM;%!+!08
.9P!G $@<   3G0$    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>116
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
// Edgar(tm) Renderer was created by staff of the U.S. Securities and Exchange Commission.  Data and content created by government employees within the scope of their employment are not subject to domestic copyright protection. 17 U.S.C. 105.
var Show={};Show.LastAR=null,Show.showAR=function(a,r,w){if(Show.LastAR)Show.hideAR();var e=a;while(e&&e.nodeName!='TABLE')e=e.nextSibling;if(!e||e.nodeName!='TABLE'){var ref=((window)?w.document:document).getElementById(r);if(ref){e=ref.cloneNode(!0);
e.removeAttribute('id');a.parentNode.appendChild(e)}}
if(e)e.style.display='block';Show.LastAR=e};Show.hideAR=function(){Show.LastAR.style.display='none'};Show.toggleNext=function(a){var e=a;while(e.nodeName!='DIV')e=e.nextSibling;if(!e.style){}else if(!e.style.display){}else{var d,p_;if(e.style.display=='none'){d='block';p='-'}else{d='none';p='+'}
e.style.display=d;if(a.textContent){a.textContent=p+a.textContent.substring(1)}else{a.innerText=p+a.innerText.substring(1)}}}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>117
<FILENAME>report.css
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/* Updated 2009-11-04 */
/* v2.2.0.24 */

/* DefRef Styles */
.report table.authRefData{
	background-color: #def;
	border: 2px solid #2F4497;
	font-size: 1em;
	position: absolute;
}

.report table.authRefData a {
	display: block;
	font-weight: bold;
}

.report table.authRefData p {
	margin-top: 0px;
}

.report table.authRefData .hide {
	background-color: #2F4497;
	padding: 1px 3px 0px 0px;
	text-align: right;
}

.report table.authRefData .hide a:hover {
	background-color: #2F4497;
}

.report table.authRefData .body {
	height: 150px;
	overflow: auto;
	width: 400px;
}

.report table.authRefData table{
	font-size: 1em;
}

/* Report Styles */
.pl a, .pl a:visited {
	color: black;
	text-decoration: none;
}

/* table */
.report {
	background-color: white;
	border: 2px solid #acf;
	clear: both;
	color: black;
	font: normal 8pt Helvetica, Arial, san-serif;
	margin-bottom: 2em;
}

.report hr {
	border: 1px solid #acf;
}

/* Top labels */
.report th {
	background-color: #acf;
	color: black;
	font-weight: bold;
	text-align: center;
}

.report th.void	{
	background-color: transparent;
	color: #000000;
	font: bold 10pt Helvetica, Arial, san-serif;
	text-align: left;
}

.report .pl {
	text-align: left;
	vertical-align: top;
	white-space: normal;
	width: 200px;
	white-space: normal; /* word-wrap: break-word; */
}

.report td.pl a.a {
	cursor: pointer;
	display: block;
	width: 200px;
	overflow: hidden;
}

.report td.pl div.a {
	width: 200px;
}

.report td.pl a:hover {
	background-color: #ffc;
}

/* Header rows... */
.report tr.rh {
	background-color: #acf;
	color: black;
	font-weight: bold;
}

/* Calendars... */
.report .rc {
	background-color: #f0f0f0;
}

/* Even rows... */
.report .re, .report .reu {
	background-color: #def;
}

.report .reu td {
	border-bottom: 1px solid black;
}

/* Odd rows... */
.report .ro, .report .rou {
	background-color: white;
}

.report .rou td {
	border-bottom: 1px solid black;
}

.report .rou table td, .report .reu table td {
	border-bottom: 0px solid black;
}

/* styles for footnote marker */
.report .fn {
	white-space: nowrap;
}

/* styles for numeric types */
.report .num, .report .nump {
	text-align: right;
	white-space: nowrap;
}

.report .nump {
	padding-left: 2em;
}

.report .nump {
	padding: 0px 0.4em 0px 2em;
}

/* styles for text types */
.report .text {
	text-align: left;
	white-space: normal;
}

.report .text .big {
	margin-bottom: 1em;
	width: 17em;
}

.report .text .more {
	display: none;
}

.report .text .note {
	font-style: italic;
	font-weight: bold;
}

.report .text .small {
	width: 10em;
}

.report sup {
	font-style: italic;
}

.report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>119
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.25.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>116</ContextCount>
  <ElementCount>308</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>23</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000010 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow</Role>
      <ShortName>UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>000080 - Statement - Trading Arrangements, by Individual</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual</Role>
      <ShortName>Trading Arrangements, by Individual</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>000090 - Disclosure - Note 1 - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>000100 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>000110 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited)</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>000120 - Disclosure - Note 4 - Property and Equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment</Role>
      <ShortName>Note 4 - Property and Equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>000130 - Disclosure - Note 5 - Long-term Debt</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt</Role>
      <ShortName>Note 5 - Long-term Debt</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>000140 - Disclosure - Note 6 - Commitments and Contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies</Role>
      <ShortName>Note 6 - Commitments and Contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>000150 - Disclosure - Note 7 - Income Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes</Role>
      <ShortName>Note 7 - Income Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>000160 - Disclosure - Note 8 - Options</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options</Role>
      <ShortName>Note 8 - Options</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>000170 - Disclosure - Note 9 - Geographic Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation</Role>
      <ShortName>Note 9 - Geographic Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>000180 - Disclosure - Note 10 - Geographic Long-Lived Assets Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>000190 - Disclosure - Note 11 - Revenues By Product Category And Region</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>000200 - Disclosure - Note 12 - Product Sale and Purchase Commitments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>000210 - Disclosure - Note 13 - Employee Benefit Plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans</Role>
      <ShortName>Note 13 - Employee Benefit Plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>000220 - Disclosure - Note 14 - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases</Role>
      <ShortName>Note 14 - Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>000230 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>000240 - Disclosure - Note 16 - Earnings Per Share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare</Role>
      <ShortName>Note 16 - Earnings Per Share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>000250 - Disclosure - Note 17 - Segment Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation</Role>
      <ShortName>Note 17 - Segment Information</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>000260 - Disclosure - Note 18 - Recent Accounting Pronouncements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements</Role>
      <ShortName>Note 18 - Recent Accounting Pronouncements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>000270 - Disclosure - Note 19 - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents</Role>
      <ShortName>Note 19 - Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>000420 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>000440 - Disclosure - Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies</Role>
      <ShortName>Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>000450 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>45</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>46</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>000470 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>000480 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>48</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>000490 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</Role>
      <ShortName>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>49</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>000500 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>50</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>000510 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>000520 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>52</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>000530 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>53</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>000540 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>54</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>000550 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>55</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>56</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>000570 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>57</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>000580 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>58</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>000590 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>59</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>000600 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>60</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>000610 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>61</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>000620 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>62</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>000630 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables</Role>
      <ShortName>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>63</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>000640 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables</Role>
      <ShortName>Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <Position>64</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>000650 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails</Role>
      <ShortName>Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>000700 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails</Role>
      <ShortName>Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>000710 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails</Role>
      <ShortName>Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>000720 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails</Role>
      <ShortName>Note 4 - Property and Equipment: Property, Plant and Equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>000730 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails</Role>
      <ShortName>Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>000740 - Disclosure - Note 5 - Long-term Debt (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails</Role>
      <ShortName>Note 5 - Long-term Debt (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>000750 - Disclosure - Note 6 - Commitments and Contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails</Role>
      <ShortName>Note 6 - Commitments and Contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>000760 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>000770 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>000780 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>000790 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails</Role>
      <ShortName>Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>000800 - Disclosure - Note 8 - Options (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails</Role>
      <ShortName>Note 8 - Options (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>000810 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>000820 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>000830 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails</Role>
      <ShortName>Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>000840 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails</Role>
      <ShortName>Note 9 - Geographic Information: Schedule Of Geographic Information (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>000850 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails</Role>
      <ShortName>Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>000860 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>000870 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails</Role>
      <ShortName>Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>000880 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails</Role>
      <ShortName>Note 12 - Product Sale and Purchase Commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>000890 - Disclosure - Note 13 - Employee Benefit Plans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails</Role>
      <ShortName>Note 13 - Employee Benefit Plans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>000900 - Disclosure - Note 14 - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails</Role>
      <ShortName>Note 14 - Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>000910 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails</Role>
      <ShortName>Note 14 - Leases: Reconciliation of operating lease liabilities (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>000920 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails</Role>
      <ShortName>Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>000930 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails</Role>
      <ShortName>Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>000940 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails</Role>
      <ShortName>Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="utmd-20241231.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>000950 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails</Role>
      <ShortName>Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File doctype="10-K" isDefinitelyFs="true" isUsgaap="true" original="utmd-20241231.htm">utmd-20241231.htm</File>
    <File>utmd-20241231.xsd</File>
    <File>utmd-20241231_cal.xml</File>
    <File>utmd-20241231_def.xml</File>
    <File>utmd-20241231_lab.xml</File>
    <File>utmd-20241231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>utmd10k_1.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="1">http://fasb.org/srt/2024</BaseTaxonomy>
    <BaseTaxonomy items="829">http://fasb.org/us-gaap/2024</BaseTaxonomy>
    <BaseTaxonomy items="37">http://xbrl.sec.gov/dei/2024</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2024</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>122
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "utmd-20241231.htm": {
   "nsprefix": "fil",
   "nsuri": "http://www.utahmed.com/20241231",
   "dts": {
    "inline": {
     "local": [
      "utmd-20241231.htm"
     ]
    },
    "schema": {
     "local": [
      "utmd-20241231.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd",
      "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd",
      "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd",
      "https://xbrl.sec.gov/country/2024/country-2024.xsd",
      "https://xbrl.sec.gov/dei/2024/dei-2024.xsd",
      "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd",
      "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "utmd-20241231_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "utmd-20241231_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "utmd-20241231_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "utmd-20241231_pre.xml"
     ]
    }
   },
   "keyStandard": 265,
   "keyCustom": 43,
   "axisStandard": 6,
   "axisCustom": 1,
   "memberStandard": 9,
   "memberCustom": 14,
   "hidden": {
    "total": 6,
    "http://xbrl.sec.gov/dei/2024": 6
   },
   "contextCount": 116,
   "entityCount": 1,
   "segmentCount": 23,
   "elementCount": 370,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2024": 829,
    "http://xbrl.sec.gov/dei/2024": 37,
    "http://xbrl.sec.gov/ecd/2024": 4,
    "http://fasb.org/srt/2024": 1
   },
   "report": {
    "R1": {
     "role": "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation",
     "longName": "000010 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "dei:EntityRegistrantName",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "b",
       "span",
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets",
     "longName": "000020 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:PropertyPlantAndEquipmentNet",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:IntangibleAssetsNetExcludingGoodwill",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R3": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical",
     "longName": "000030 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:CommonStockParOrStatedValuePerShare",
      "unitRef": "UsdPerShare",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome",
     "longName": "000040 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:CostOfGoodsAndServicesSold",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical",
     "longName": "000050 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R6": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity",
     "longName": "000060 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "E21_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E21_StEqComps-CommonStock",
      "name": "us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R7": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
     "longName": "000070 - Statement - UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "shortName": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:Depreciation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R8": {
     "role": "http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual",
     "longName": "000080 - Statement - Trading Arrangements, by Individual",
     "shortName": "Trading Arrangements, by Individual",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "8",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies",
     "longName": "000090 - Disclosure - Note 1 - Summary of Significant Accounting Policies",
     "shortName": "Note 1 - Summary of Significant Accounting Policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts",
     "longName": "000100 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited",
     "longName": "000110 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:QuarterlyFinancialInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment",
     "longName": "000120 - Disclosure - Note 4 - Property and Equipment",
     "shortName": "Note 4 - Property and Equipment",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt",
     "longName": "000130 - Disclosure - Note 5 - Long-term Debt",
     "shortName": "Note 5 - Long-term Debt",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LongTermDebtTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies",
     "longName": "000140 - Disclosure - Note 6 - Commitments and Contingencies",
     "shortName": "Note 6 - Commitments and Contingencies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes",
     "longName": "000150 - Disclosure - Note 7 - Income Taxes",
     "shortName": "Note 7 - Income Taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options",
     "longName": "000160 - Disclosure - Note 8 - Options",
     "shortName": "Note 8 - Options",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation",
     "longName": "000170 - Disclosure - Note 9 - Geographic Information",
     "shortName": "Note 9 - Geographic Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:GeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:GeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation",
     "longName": "000180 - Disclosure - Note 10 - Geographic Long-Lived Assets Information",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "18",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:GeographicLongLivedAssetsInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion",
     "longName": "000190 - Disclosure - Note 11 - Revenues By Product Category And Region",
     "shortName": "Note 11 - Revenues By Product Category And Region",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "19",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:RevenuesbyproductcategoryandregionTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments",
     "longName": "000200 - Disclosure - Note 12 - Product Sale and Purchase Commitments",
     "shortName": "Note 12 - Product Sale and Purchase Commitments",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "20",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans",
     "longName": "000210 - Disclosure - Note 13 - Employee Benefit Plans",
     "shortName": "Note 13 - Employee Benefit Plans",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "21",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases",
     "longName": "000220 - Disclosure - Note 14 - Leases",
     "shortName": "Note 14 - Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "22",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure",
     "longName": "000230 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "23",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IntangibleAssetsDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare",
     "longName": "000240 - Disclosure - Note 16 - Earnings Per Share",
     "shortName": "Note 16 - Earnings Per Share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "24",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R25": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation",
     "longName": "000250 - Disclosure - Note 17 - Segment Information",
     "shortName": "Note 17 - Segment Information",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "25",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SegmentReportingDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R26": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements",
     "longName": "000260 - Disclosure - Note 18 - Recent Accounting Pronouncements",
     "shortName": "Note 18 - Recent Accounting Pronouncements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "26",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents",
     "longName": "000270 - Disclosure - Note 19 - Subsequent Events",
     "shortName": "Note 19 - Subsequent Events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "27",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies",
     "longName": "000280 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Use of Estimates in The Preparation of Financial Statements (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "28",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:UseOfEstimates",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies",
     "longName": "000290 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Principles of Consolidation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "29",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ConsolidationPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies",
     "longName": "000300 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Cash and Cash Equivalents (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "30",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:CashAndCashEquivalentsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R31": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies",
     "longName": "000310 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Concentration of Credit Risk (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "31",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ConcentrationRiskDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies",
     "longName": "000320 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Accounts Receivable (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "32",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ReceivablesPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SignificantAccountingPoliciesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R33": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies",
     "longName": "000330 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Inventories (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "33",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:InventoryPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R34": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies",
     "longName": "000340 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "34",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R35": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies",
     "longName": "000350 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Long-lived Assets (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "35",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R36": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies",
     "longName": "000360 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "36",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R37": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies",
     "longName": "000370 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "37",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R38": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies",
     "longName": "000380 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Revenue Recognition (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "38",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:RevenueRecognitionPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R39": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies",
     "longName": "000390 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Income Taxes (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "39",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:IncomeTaxPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R40": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies",
     "longName": "000400 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "40",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LegalCostsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R41": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies",
     "longName": "000410 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "41",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:EarningsPerSharePolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R42": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies",
     "longName": "000420 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Presentation of Sales and Similar Taxes (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "42",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:PresentationOfSalesAndSimilarTaxesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R43": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies",
     "longName": "000430 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Translation of Foreign Currencies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "43",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R44": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies",
     "longName": "000440 - Disclosure - Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "shortName": "Note 18 - Recent Accounting Pronouncements: New Accounting Pronouncements, Policy (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "44",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R45": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables",
     "longName": "000450 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "45",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerSharePolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R46": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables",
     "longName": "000460 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "46",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "srt:ScheduleOfCondensedBalanceSheetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "srt:ScheduleOfCondensedBalanceSheetTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SupplementalBalanceSheetDisclosuresTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R47": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables",
     "longName": "000470 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "47",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:QuarterlyFinancialInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R48": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables",
     "longName": "000480 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "48",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:PropertyPlantAndEquipmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R49": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables",
     "longName": "000490 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "49",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:PropertyPlantAndEquipmentByLocationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R50": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables",
     "longName": "000500 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "50",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R51": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables",
     "longName": "000510 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "51",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R52": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables",
     "longName": "000520 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "52",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R53": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables",
     "longName": "000530 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "53",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R54": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables",
     "longName": "000540 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "54",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R55": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables",
     "longName": "000550 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "55",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R56": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables",
     "longName": "000560 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "56",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R57": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables",
     "longName": "000570 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "57",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleOfGeographicInformationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R58": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables",
     "longName": "000580 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "58",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R59": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables",
     "longName": "000590 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "59",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R60": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables",
     "longName": "000600 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "60",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R61": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables",
     "longName": "000610 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "61",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R62": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables",
     "longName": "000620 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "62",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R63": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables",
     "longName": "000630 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "63",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:EarningsPerShareTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R64": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables",
     "longName": "000640 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)",
     "shortName": "Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "64",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R65": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
     "longName": "000650 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Property and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "65",
     "firstAnchor": {
      "contextRef": "E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "kbd",
       "p",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements",
      "name": "us-gaap:PropertyPlantAndEquipmentUsefulLife",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "kbd",
       "p",
       "us-gaap:PropertyPlantAndEquipmentPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R66": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
     "longName": "000660 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Intangible Assets (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "66",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R67": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
     "longName": "000670 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Stock-based Compensation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "67",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:AllocatedShareBasedCompensationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R68": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails",
     "longName": "000680 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Legal Costs (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "68",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LitigationReserve",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:LegalCostsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R69": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails",
     "longName": "000690 - Disclosure - Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "shortName": "Note 1 - Summary of Significant Accounting Policies: Earnings Per Share: Schedule of Weighted Average Number of Shares (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "69",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:WeightedAverageNumberOfSharesOutstandingBasic",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R70": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
     "longName": "000700 - Disclosure - Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details)",
     "shortName": "Note 2 - Detail of Certain Balance Sheet Accounts: Detail of Certain Balance Sheet Accounts (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "70",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:AccountsReceivableGrossCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R71": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
     "longName": "000710 - Disclosure - Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "shortName": "Note 3 - Quarterly Results of Operations (Unaudited): Quarterly Financial Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "71",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R72": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
     "longName": "000720 - Disclosure - Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "shortName": "Note 4 - Property and Equipment: Property, Plant and Equipment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "72",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R73": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
     "longName": "000730 - Disclosure - Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "shortName": "Note 4 - Property and Equipment: Property Plant and Equipment by Location (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "73",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:PropertyPlantAndEquipmentTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E24_StGeo-USAndCanada",
      "name": "us-gaap:Land",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:PropertyPlantAndEquipmentByLocationTextBlock",
       "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R74": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails",
     "longName": "000740 - Disclosure - Note 5 - Long-term Debt (Details)",
     "shortName": "Note 5 - Long-term Debt (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "74",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LongTermDebt",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:LongTermDebtTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R75": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails",
     "longName": "000750 - Disclosure - Note 6 - Commitments and Contingencies (Details)",
     "shortName": "Note 6 - Commitments and Contingencies (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "75",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:LitigationExpense",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:ProductWarrantyAccrual",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R76": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails",
     "longName": "000760 - Disclosure - Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Deferred Tax Assets and Liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "76",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:DeferredTaxAssetsInventory",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R77": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
     "longName": "000770 - Disclosure - Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Components of Income Tax Expense (Benefit) (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "77",
     "firstAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:CurrentIncomeTaxExpenseBenefit",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R78": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
     "longName": "000780 - Disclosure - Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Effective Income Tax Rate Reconciliation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "78",
     "firstAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R79": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
     "longName": "000790 - Disclosure - Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "shortName": "Note 7 - Income Taxes: Schedule of Income before Income Tax, Domestic and Foreign (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "79",
     "firstAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D241231",
      "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
       "us-gaap:IncomeTaxDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R80": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails",
     "longName": "000800 - Disclosure - Note 8 - Options (Details)",
     "shortName": "Note 8 - Options (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "80",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R81": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
     "longName": "000810 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Stock Options, Activity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "81",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
      "unitRef": "Shares",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R82": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails",
     "longName": "000820 - Disclosure - Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "82",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R83": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
     "longName": "000830 - Disclosure - Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "shortName": "Note 8 - Options: Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "83",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R84": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails",
     "longName": "000840 - Disclosure - Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "shortName": "Note 9 - Geographic Information: Schedule Of Geographic Information (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "84",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "fil:CompanySalesInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "fil:CompanySalesInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfGeographicInformationTextBlock",
       "fil:GeographicInformationTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R85": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails",
     "longName": "000850 - Disclosure - Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "shortName": "Note 10 - Geographic Long-Lived Assets Information: Schedule Of Long-Lived Assets By Geographic Area (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "85",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "fil:LongLivedAssetsInTheUnitedStates",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R86": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
     "longName": "000860 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of Global Revenues By Product Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "86",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24_StGeo-Global",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R87": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
     "longName": "000870 - Disclosure - Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "shortName": "Note 11 - Revenues By Product Category And Region: Schedule Of OUS Revenues By Product Category (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "87",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24_StGeo-Ous",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "fil:ScheduleofousrevenuesbyproductcategoryTextBlock",
       "fil:RevenuesbyproductcategoryandregionTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R88": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
     "longName": "000880 - Disclosure - Note 12 - Product Sale and Purchase Commitments (Details)",
     "shortName": "Note 12 - Product Sale and Purchase Commitments (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "88",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:RoyaltyIncomeNonoperating",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:ContractualObligation",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "fil:ProductSaleAndPurchaseCommitmentsTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R89": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails",
     "longName": "000890 - Disclosure - Note 13 - Employee Benefit Plans (Details)",
     "shortName": "Note 13 - Employee Benefit Plans (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "89",
     "firstAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24",
      "name": "us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R90": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails",
     "longName": "000900 - Disclosure - Note 14 - Leases (Details)",
     "shortName": "Note 14 - Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "90",
     "firstAnchor": {
      "contextRef": "D241231",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "D241231",
      "name": "fil:LesseeOperatingLeaseForParkingLotTermOfContract",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "p",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R91": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
     "longName": "000910 - Disclosure - Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "shortName": "Note 14 - Leases: Reconciliation of operating lease liabilities (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "91",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:OperatingLeaseRightOfUseAsset",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:OperatingLeaseLiabilityCurrent",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R92": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails",
     "longName": "000920 - Disclosure - Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)",
     "shortName": "Note 14 - Leases: Lessee, Operating Lease, Liability, to be Paid, Maturity (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "92",
     "firstAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "E24",
      "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
       "us-gaap:LesseeOperatingLeasesTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true,
      "unique": true
     }
    },
    "R93": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
     "longName": "000930 - Disclosure - Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "shortName": "Note 15 - CSI Distribution Agreement Purchase Disclosure (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "93",
     "firstAnchor": {
      "contextRef": "Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc",
      "name": "us-gaap:FinitelivedIntangibleAssetsAcquired1",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "p",
       "us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24_DistributionRightsAcquisition-CoopersurgicalInc",
      "name": "fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
      "unitRef": "Pure",
      "xsiNil": "false",
      "lang": null,
      "decimals": "INF",
      "ancestors": [
       "p",
       "us-gaap:IntangibleAssetsDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    },
    "R94": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
     "longName": "000940 - Disclosure - Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "shortName": "Note 16 - Earnings Per Share: Schedule of Earnings Per Share, Basic and Diluted (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "94",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:ProfitLoss",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": null
    },
    "R95": {
     "role": "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
     "longName": "000950 - Disclosure - Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details)",
     "shortName": "Note 17 - Segment Information: Schedule of Segment Reporting Information, by Segment (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "95",
     "firstAnchor": {
      "contextRef": "Y24Q4",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "Y24_StScenario-SingleOperatingSeg",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "USD",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "kbd",
       "p",
       "td",
       "tr",
       "table",
       "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock",
       "us-gaap:SegmentReportingDisclosureTextBlock",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "utmd-20241231.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountsAndOtherReceivablesNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsAndOtherReceivablesNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and Other Receivables, Net, Current",
        "totalLabel": "Accounts and Other Receivables, Net, Current",
        "documentation": "Amount, after allowance, receivable from customers, clients, or other third-parties, and receivables classified as other due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r36",
      "r629"
     ]
    },
    "us-gaap_AccountsReceivableGrossCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableGrossCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, before Allowance for Credit Loss, Current",
        "documentation": "Amount, before allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r235",
      "r591"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts and other receivables, net (note 2)",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r695"
     ]
    },
    "fil_AccruedIncomeTaxesPayableReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "AccruedIncomeTaxesPayableReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued income taxes payable (receivable)",
        "documentation": "Represents the monetary amount of Accrued income taxes payable (receivable), as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_AccruedInterestAndOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "AccruedInterestAndOther",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued interest and other",
        "documentation": "Represents the monetary amount of Accrued interest and other, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses (note 2)",
        "totalLabel": "Accrued expenses (note 2)",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "negatedLabel": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r147",
      "r473"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossBeforeTax1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AccumulatedOtherComprehensiveIncomeLossBeforeTax1",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss",
        "documentation": "Amount before tax of increase (decrease) in accumulated equity from transactions and other events and circumstances from non-owner sources, including portion attributable to noncontrolling interest. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners (distributions to owners)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r506",
      "r684",
      "r685",
      "r686",
      "r688",
      "r723",
      "r767"
     ]
    },
    "fil_AdjustmentToDeferredTaxLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "AdjustmentToDeferredTaxLiability",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustment To Deferred Tax Liability",
        "negatedLabel": "Adjustment To Deferred Tax Liability",
        "documentation": "Represents the monetary amount of Adjustment To Deferred Tax Liability, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net income to net cash provided by operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "country_AllCountriesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "AllCountriesDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "All Countries"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllocatedShareBasedCompensationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllocatedShareBasedCompensationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Expense",
        "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized."
       }
      }
     },
     "auth_ref": [
      "r324",
      "r333"
     ]
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccountsAndOtherReceivablesNetCurrent",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable, Allowance for Credit Loss, Current",
        "negatedLabel": "Accounts Receivable, Allowance for Credit Loss, Current",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r239",
      "r246"
     ]
    },
    "dei_AmendmentDescription": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentDescription",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Description",
        "documentation": "Description of changes contained within amended document."
       }
      }
     },
     "auth_ref": []
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AmortizationOfIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AmortizationOfIntangibleAssets",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization {1}",
        "terseLabel": "Amortization",
        "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r259",
      "r262",
      "r609"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total assets",
        "totalLabel": "Total assets",
        "documentation": "Amount of asset recognized for present right to economic benefit."
       }
      }
     },
     "auth_ref": [
      "r81",
      "r92",
      "r150",
      "r172",
      "r207",
      "r214",
      "r222",
      "r225",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r374",
      "r378",
      "r392",
      "r465",
      "r533",
      "r602",
      "r603",
      "r629",
      "r653",
      "r710",
      "r711",
      "r727"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ASSETS"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current assets",
        "totalLabel": "Total current assets",
        "documentation": "Amount of asset recognized for present right to economic benefit, classified as current."
       }
      }
     },
     "auth_ref": [
      "r142",
      "r156",
      "r172",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r374",
      "r378",
      "r392",
      "r629",
      "r710",
      "r711",
      "r727"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets"
       }
      }
     },
     "auth_ref": []
    },
    "dei_AuditorFirmId": {
     "xbrltype": "nonemptySequenceNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorFirmId",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Firm ID",
        "documentation": "PCAOB issued Audit Firm Identifier"
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659"
     ]
    },
    "dei_AuditorLocation": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorLocation",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Location"
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659"
     ]
    },
    "dei_AuditorName": {
     "xbrltype": "internationalNameItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "AuditorName",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Auditor Name"
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659"
     ]
    },
    "fil_BloodPressureMonitoringAndAccessoriesMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "BloodPressureMonitoringAndAccessoriesMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Blood Pressure Monitoring and Accessories",
        "documentation": "Represents the Blood Pressure Monitoring and Accessories, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingAndBuildingImprovementsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingAndBuildingImprovementsMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Building and Building Improvements",
        "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BuildingsAndImprovementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "BuildingsAndImprovementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Buildings and Improvements, Gross",
        "documentation": "Amount before accumulated depreciation of building structures held for productive use including addition, improvement, or renovation to the structure, including, but not limited to, interior masonry, interior flooring, electrical, and plumbing."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash {1}",
        "terseLabel": "Cash",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r145",
      "r589"
     ]
    },
    "us-gaap_CashAndCashEquivalentsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashAndCashEquivalentsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesCashAndCashEquivalentsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and Cash Equivalents",
        "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash at beginning of year",
        "periodStartLabel": "Cash at beginning of year",
        "periodEndLabel": "Cash at end of year",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r62",
      "r170"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net increase in cash and cash equivalents",
        "totalLabel": "Net increase in cash and cash equivalents",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r62"
     ]
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CityAreaCode",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (notes 6 and 12)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r84",
      "r468",
      "r520"
     ]
    },
    "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommitmentsAndContingenciesDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingencies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 6 - Commitments and Contingencies",
        "documentation": "The entire disclosure for commitments and contingencies."
       }
      }
     },
     "auth_ref": [
      "r74",
      "r267",
      "r268",
      "r572",
      "r704",
      "r706"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r644",
      "r645",
      "r646",
      "r648",
      "r649",
      "r650",
      "r651",
      "r684",
      "r685",
      "r688",
      "r723",
      "r766",
      "r767"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Par or Stated Value Per Share",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptions",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock received and retired upon exercise of stock options",
        "documentation": "Represents the monetary amount of Common stock received and retired upon exercise of stock options, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock received and retired upon exercise of stock options, shares",
        "documentation": "Represents the Common stock received and retired upon exercise of stock options, shares (number of shares), during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares Authorized",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r521"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Issued",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r45"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock, Shares, Outstanding",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r45",
      "r521",
      "r539",
      "r767",
      "r768"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, $.01 par value; 50,000 shares authorized, issued 3,335 shares in 2024 and 3,630 shares in 2023",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r469",
      "r629"
     ]
    },
    "fil_CompanySalesInEurope": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CompanySalesInEurope",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales in Europe",
        "documentation": "Represents the monetary amount of Company Sales in Europe, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CompanySalesInTheUnitedStates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CompanySalesInTheUnitedStates",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales in the United States",
        "documentation": "Represents the monetary amount of Company Sales in the United States, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_CompanySalesOther": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CompanySalesOther",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Company Sales Other",
        "documentation": "Represents the monetary amount of Company Sales Other, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Comprehensive Income",
        "documentation": "The change in equity (net assets) of a business enterprise during a period from transactions and other events and circumstances from non-owner sources. It includes all changes in equity during a period except those resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total comprehensive income",
        "totalLabel": "Total comprehensive income",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r13",
      "r158",
      "r160",
      "r165",
      "r461",
      "r478",
      "r479"
     ]
    },
    "us-gaap_ConcentrationRiskDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConcentrationRiskDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesConcentrationOfCreditRiskPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Concentration of Credit Risk",
        "documentation": "The entire disclosure for any concentrations existing at the date of the financial statements that make an entity vulnerable to a reasonably possible, near-term, severe impact. This disclosure informs financial statement users about the general nature of the risk associated with the concentration, and may indicate the percentage of concentration risk as of the balance sheet date."
       }
      }
     },
     "auth_ref": [
      "r68"
     ]
    },
    "us-gaap_ConsolidationPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConsolidationPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPrinciplesOfConsolidationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Principles of Consolidation",
        "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r593"
     ]
    },
    "us-gaap_ConstructionInProgressGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ConstructionInProgressGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Construction in Progress, Gross",
        "documentation": "Amount of structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "us-gaap_ContractualObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ContractualObligation",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Contractual Obligation",
        "documentation": "Amount of contractual obligation, including, but not limited to, long-term debt, lease obligation, purchase obligation, and other commitments."
       }
      }
     },
     "auth_ref": [
      "r682"
     ]
    },
    "fil_CoopersurgicalIncMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "CoopersurgicalIncMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "CooperSurgical Inc",
        "documentation": "Represents the CooperSurgical Inc, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfGoodsAndServicesSold": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CostOfGoodsAndServicesSold",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of goods sold",
        "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities."
       }
      }
     },
     "auth_ref": [
      "r53",
      "r54",
      "r424"
     ]
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CurrentIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "CurrentIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Income Tax Expense (Benefit)",
        "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r356",
      "r681"
     ]
    },
    "fil_DeferredIncomeTaxExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "DeferredIncomeTaxExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Income Tax Expense",
        "documentation": "Represents the monetary amount of Deferred Income Tax Expense, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r104",
      "r681"
     ]
    },
    "us-gaap_DeferredIncomeTaxLiabilitiesNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredIncomeTaxLiabilitiesNet",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes (note 7)",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r339",
      "r340",
      "r466"
     ]
    },
    "us-gaap_DeferredTaxAssetsInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsInventory",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Inventory",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from inventory."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Accrued Liabilities",
        "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from accrued liabilities."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Asset, Tax Deferred Expense, Reserve and Accrual, Accounts Receivable, Allowance for Credit Loss",
        "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary difference from allowance for credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_DeferredTaxExpenseFromStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxExpenseFromStockOptionsExercised",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Tax benefit attributable to exercise of stock options",
        "documentation": "Amount of deferred tax expense from write-off of the deferred tax asset related to deductible stock options at exercise."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities, Net",
        "negatedTotalLabel": "Deferred Tax Liabilities, Net",
        "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r718"
     ]
    },
    "fil_DeferredTaxLiabilitiesDepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "DeferredTaxLiabilitiesDepreciationAndAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails": {
       "parentTag": "us-gaap_DeferredTaxLiabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred Tax Liabilities Depreciation and Amortization",
        "negatedLabel": "Deferred Tax Liabilities Depreciation and Amortization",
        "documentation": "Represents the monetary amount of Deferred Tax Liabilities Depreciation and Amortization, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred tax liability - intangible assets",
        "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from intangible assets other than goodwill."
       }
      }
     },
     "auth_ref": [
      "r721"
     ]
    },
    "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlansDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount",
        "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Depreciation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Depreciation",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation",
        "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r26"
     ]
    },
    "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8Options"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 8 - Options",
        "documentation": "The entire disclosure for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r307",
      "r325",
      "r326",
      "r328",
      "r617"
     ]
    },
    "us-gaap_DisclosureTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DisclosureTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Notes"
       }
      }
     },
     "auth_ref": []
    },
    "fil_DistributionRightsAcquisitionAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "DistributionRightsAcquisitionAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution Rights Acquisition [Axis]",
        "documentation": "Represents the description of Distribution Rights Acquisition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_DistributionRightsAcquisitionDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "DistributionRightsAcquisitionDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Distribution Rights Acquisition",
        "documentation": "Represents the Distribution Rights Acquisition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DividendsCommonStockCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "DividendsCommonStockCash",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock dividends",
        "negatedLabel": "Common stock dividends",
        "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "dei_DocumentAnnualReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentAnnualReport",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Annual Report",
        "documentation": "Boolean flag that is true only for a form used as an annual report."
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659"
     ]
    },
    "dei_DocumentFinStmtErrorCorrectionFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFinStmtErrorCorrectionFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Financial Statement Error Correction",
        "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction."
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659",
      "r661"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r660"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "DocumentType",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share (basic) (note 1)",
        "verboseLabel": "Earnings per common share (basic) (note 1)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r196",
      "r198",
      "r199",
      "r200",
      "r201",
      "r206",
      "r369",
      "r372",
      "r389",
      "r390",
      "r462",
      "r480",
      "r596"
     ]
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per common share (diluted)",
        "verboseLabel": "Earnings per common share (diluted)",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r184",
      "r185",
      "r186",
      "r187",
      "r188",
      "r189",
      "r198",
      "r199",
      "r200",
      "r201",
      "r206",
      "r369",
      "r372",
      "r389",
      "r390",
      "r462",
      "r480",
      "r596"
     ]
    },
    "us-gaap_EarningsPerSharePolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerSharePolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerSharePolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings Per Share",
        "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r19",
      "r203"
     ]
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 16 - Earnings Per Share",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r195",
      "r202",
      "r204",
      "r205"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r395"
     ]
    },
    "us-gaap_EmployeeRelatedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeRelatedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee-related Liabilities, Current",
        "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years",
        "documentation": "Represents the monetary amount of Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition",
        "documentation": "Represents the Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next 4 Years Period For Recognition, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months",
        "documentation": "Unrecognized cost of unvested share-based compensation awards to be recognized over the next twelve months."
       }
      }
     },
     "auth_ref": []
    },
    "fil_EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Employee Service Share Based Compensation Nonvested Awards Compensation Cost Not Yet Recognized To Be Recognized Over The Next Twelve Months Period For Recognition",
        "documentation": "Next twelve months period over which unrecognized compensation is expected to be recognized for equity-based compensation plans."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Amount",
        "documentation": "Amount of cost not yet recognized for nonvested award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r327"
     ]
    },
    "us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Exercise of Option, Tax Benefit",
        "documentation": "Amount of tax benefit from exercise of option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "fil_EnglandAndAustraliaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "EnglandAndAustraliaMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "England and Australia",
        "documentation": "Represents the England and Australia, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityExTransitionPeriod": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityExTransitionPeriod",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Ex Transition Period",
        "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards."
       }
      }
     },
     "auth_ref": [
      "r666"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Securities Act File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r664"
     ]
    },
    "dei_EntityPublicFloat": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityPublicFloat",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Public Float",
        "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r655"
     ]
    },
    "dei_EntityVoluntaryFilers": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityVoluntaryFilers",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Voluntary filer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityWellKnownSeasonedIssuer": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "EntityWellKnownSeasonedIssuer",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Well-known Seasoned Issuer",
        "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A."
       }
      }
     },
     "auth_ref": [
      "r665"
     ]
    },
    "us-gaap_EquipmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquipmentMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equipment",
        "documentation": "Tangible personal property used to produce goods and services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r138",
      "r162",
      "r163",
      "r164",
      "r175",
      "r176",
      "r177",
      "r181",
      "r188",
      "r190",
      "r192",
      "r209",
      "r242",
      "r245",
      "r266",
      "r288",
      "r357",
      "r358",
      "r364",
      "r365",
      "r366",
      "r370",
      "r371",
      "r372",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r386",
      "r388",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r402",
      "r403",
      "r406",
      "r415",
      "r477",
      "r491",
      "r492",
      "r493",
      "r506",
      "r558"
     ]
    },
    "us-gaap_FiniteLivedCustomerRelationshipsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedCustomerRelationshipsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Customer Relationships, Gross",
        "documentation": "Amount, before amortization, of finite-lived asset representing customer relationship acquired in business combination, asset acquisition, and from joint venture formation."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r702"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetUsefulLife",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Useful Life",
        "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets - accumulated amortization",
        "negatedLabel": "Other intangible assets - accumulated amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r149",
      "r251",
      "r261",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r585",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r585",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r585",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r585",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two",
        "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r263",
      "r585",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets (note 2)",
        "totalLabel": "Other intangible assets (note 2)",
        "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r251",
      "r261",
      "r429",
      "r609"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedIntangibleAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets, Net",
        "totalLabel": "Finite-Lived Intangible Assets, Net",
        "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r425",
      "r702"
     ]
    },
    "us-gaap_FiniteLivedNoncompeteAgreementsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedNoncompeteAgreementsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Noncompete Agreements, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of payments made to third parties in exchange for their agreement not to engage in specified competitive practices in specified geographic territories for a specified period of time."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r702"
     ]
    },
    "us-gaap_FiniteLivedPatentsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedPatentsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Patents, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date of the costs pertaining to the exclusive legal rights granted to the owner of the patent to exploit an invention or a process for a period of time specified by law. Such costs may have been expended to directly apply and receive patent rights, or to acquire such rights."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r702"
     ]
    },
    "fil_FiniteLivedRegulatoryApprovalsAndProductCertificationsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "FiniteLivedRegulatoryApprovalsAndProductCertificationsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Regulatory approvals &amp; product certifications",
        "documentation": "Represents the monetary amount of Regulatory approvals &amp; product certifications, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_FiniteLivedTrademarksGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FiniteLivedTrademarksGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Trademarks, Gross",
        "documentation": "Gross carrying amount before accumulated amortization as of the balance sheet date for the rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style for a specified period of time."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r702"
     ]
    },
    "us-gaap_FinitelivedIntangibleAssetsAcquired1": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "FinitelivedIntangibleAssetsAcquired1",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finite-Lived Intangible Assets Acquired",
        "documentation": "Amount of increase in assets, excluding financial assets, lacking physical substance with a definite life, from an acquisition."
       }
      }
     },
     "auth_ref": [
      "r260"
     ]
    },
    "fil_ForeignCurrencyExchangeRateTranslationAUDtoUSD": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ForeignCurrencyExchangeRateTranslationAUDtoUSD",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Exchange Rate Translation AUD to USD",
        "documentation": "Foreign exchange rate used to translate amounts denominated in functional currency AUD to reporting currency USD."
       }
      }
     },
     "auth_ref": []
    },
    "fil_ForeignCurrencyExchangeRateTranslationGBPtoUSD": {
     "xbrltype": "pureItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ForeignCurrencyExchangeRateTranslationGBPtoUSD",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign Currency Exchange Rate Translation GBP to USD",
        "documentation": "Foreign exchange rate used to translate amounts denominated in functional currency GBP to reporting currency USD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesTranslationOfForeignCurrenciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Translation of Foreign Currencies",
        "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy."
       }
      }
     },
     "auth_ref": [
      "r393"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r56",
      "r543"
     ]
    },
    "fil_GeographicInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "GeographicInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 9 - Geographic Information",
        "documentation": "Geographic Sales Information."
       }
      }
     },
     "auth_ref": []
    },
    "fil_GeographicLongLivedAssetsInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "GeographicLongLivedAssetsInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 10 - Geographic Long-Lived Assets Information",
        "documentation": "Geographic Long-Lived Assets Information."
       }
      }
     },
     "auth_ref": []
    },
    "fil_GlobalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "GlobalMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Global",
        "documentation": "Represents the Global, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "periodEndLabel": "Total Goodwill as of December 31",
        "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r148",
      "r252",
      "r460",
      "r603",
      "r608",
      "r622",
      "r629",
      "r699",
      "r700"
     ]
    },
    "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible Assets",
        "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r698",
      "r701"
     ]
    },
    "us-gaap_GoodwillForeignCurrencyTranslationGainLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillForeignCurrencyTranslationGainLoss",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of foreign exchange",
        "documentation": "Amount of foreign currency translation gain (loss) which increases (decreases) asset representing future economic benefit from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r255"
     ]
    },
    "us-gaap_GoodwillImpairmentLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GoodwillImpairmentLoss",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Subtractions as a result of impairment",
        "documentation": "Amount of impairment loss from asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r253",
      "r254",
      "r256",
      "r608",
      "r622"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross profit",
        "totalLabel": "Gross profit",
        "verboseLabel": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r55",
      "r91",
      "r172",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r392",
      "r598",
      "r602",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694",
      "r710"
     ]
    },
    "fil_GrossProfitMargin": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "GrossProfitMargin",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gross Profit Margin",
        "documentation": "Represents the percentage value of Gross Profit Margin, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_GynecologyElectrosurgeryUrologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "GynecologyElectrosurgeryUrologyMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Gynecology/Electrosurgery/Urology",
        "documentation": "Represents the Gynecology/Electrosurgery/Urology, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "country_IE": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2024",
     "localname": "IE",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "IRELAND"
       }
      }
     },
     "auth_ref": []
    },
    "dei_IcfrAuditorAttestationFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "IcfrAuditorAttestationFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "ICFR Auditor Attestation Flag"
       }
      }
     },
     "auth_ref": [
      "r657",
      "r658",
      "r659"
     ]
    },
    "us-gaap_ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLongLivedAssetsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived Assets",
        "documentation": "Disclosure of accounting policy for recognizing and measuring the impairment of long-lived assets. An entity also may disclose its accounting policy for long-lived assets to be sold. This policy excludes goodwill and intangible assets."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r73"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r342"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income before provision for income taxes",
        "totalLabel": "Income before provision for income taxes",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r52",
      "r86",
      "r91",
      "r463",
      "r475",
      "r598",
      "r602",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign",
        "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile."
       }
      }
     },
     "auth_ref": [
      "r173",
      "r342"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENT OF INCOME AND COMPREHENSIVE INCOME - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 7 - Income Taxes",
        "documentation": "The entire disclosure for income tax."
       }
      }
     },
     "auth_ref": [
      "r174",
      "r336",
      "r343",
      "r348",
      "r349",
      "r350",
      "r351",
      "r354",
      "r359",
      "r361",
      "r362",
      "r363",
      "r503",
      "r619"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ProfitLoss",
       "weight": -1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for income taxes (note 7)",
        "totalLabel": "Provision for income taxes (note 7)",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r93",
      "r105",
      "r191",
      "r192",
      "r207",
      "r217",
      "r225",
      "r341",
      "r343",
      "r360",
      "r481",
      "r619"
     ]
    },
    "us-gaap_IncomeTaxPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIncomeTaxesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income Taxes",
        "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements."
       }
      }
     },
     "auth_ref": [
      "r161",
      "r337",
      "r338",
      "r351",
      "r352",
      "r353",
      "r355",
      "r501"
     ]
    },
    "us-gaap_IncomeTaxReconciliationForeignIncomeTaxRateDifferential": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationForeignIncomeTaxRateDifferential",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to foreign income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r344",
      "r347",
      "r619",
      "r715"
     ]
    },
    "us-gaap_IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation at Federal Statutory Income Tax Rate, Amount",
        "documentation": "The amount of income tax expense or benefit for the period computed by applying the domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r343",
      "r619"
     ]
    },
    "us-gaap_IncomeTaxReconciliationOtherAdjustments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationOtherAdjustments",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments."
       }
      }
     },
     "auth_ref": [
      "r619",
      "r715",
      "r716"
     ]
    },
    "us-gaap_IncomeTaxReconciliationStateAndLocalIncomeTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationStateAndLocalIncomeTaxes",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to state and local income tax expense (benefit)."
       }
      }
     },
     "auth_ref": [
      "r346",
      "r619",
      "r715"
     ]
    },
    "us-gaap_IncomeTaxReconciliationTaxCreditsResearch": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxReconciliationTaxCreditsResearch",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "negatedLabel": "Effective Income Tax Rate Reconciliation, Tax Credit, Research, Amount",
        "documentation": "Amount of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to research tax credit."
       }
      }
     },
     "auth_ref": [
      "r619",
      "r715",
      "r717"
     ]
    },
    "us-gaap_IncomeTaxesPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncomeTaxesPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes",
        "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r64",
      "r679",
      "r719",
      "r720"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable {1}",
        "terseLabel": "Accounts payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable",
        "negatedLabel": "Accounts receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInAccruedLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 14.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued expenses",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 11.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "negatedLabel": "Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 10.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other receivables",
        "negatedLabel": "Other receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 12.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets {1}",
        "negatedLabel": "Prepaid expenses and other current assets",
        "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_IntangibleAssetsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosure"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 15 - CSI Distribution Agreement Purchase Disclosure",
        "documentation": "The entire disclosure for all or part of the information related to intangible assets."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r264",
      "r265",
      "r584",
      "r585"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other intangible assets - net (note 2)",
        "totalLabel": "Other intangible assets - net (note 2)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r258",
      "r702",
      "r703"
     ]
    },
    "us-gaap_InterestIncomeSecuritiesTaxExempt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestIncomeSecuritiesTaxExempt",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails": {
       "parentTag": "us-gaap_IncomeTaxExpenseBenefit",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest Income, Securities, Operating, Tax Exempt",
        "negatedLabel": "Interest Income, Securities, Operating, Tax Exempt",
        "documentation": "Amount of operating interest income, including amortization and accretion of premiums and discounts, on securities exempt from state, federal and other income tax."
       }
      }
     },
     "auth_ref": [
      "r87",
      "r107",
      "r108"
     ]
    },
    "us-gaap_InterestPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InterestPaid",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Interest",
        "documentation": "Amount of cash paid for interest, including, but not limited to, capitalized interest and payment to settle zero-coupon bond attributable to accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount; classified as operating and investing activities."
       }
      }
     },
     "auth_ref": [
      "r678"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Finished Goods, Net of Reserves",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r592"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories (note 2)",
        "totalLabel": "Inventories (note 2)",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r590",
      "r629"
     ]
    },
    "us-gaap_InventoryPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesInventoriesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories {1}",
        "terseLabel": "Inventories",
        "documentation": "Disclosure of inventory accounting policy for inventory classes, including, but not limited to, basis for determining inventory amounts, methods by which amounts are added and removed from inventory classes, loss recognition on impairment of inventories, and situations in which inventories are stated above cost."
       }
      }
     },
     "auth_ref": [
      "r94",
      "r144",
      "r153",
      "r248",
      "r249",
      "r250",
      "r423",
      "r594"
     ]
    },
    "us-gaap_InventoryRawMaterials": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryRawMaterials",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Raw Materials, Gross",
        "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r675"
     ]
    },
    "us-gaap_InventoryWorkInProcess": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "InventoryWorkInProcess",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventory, Work in Process, Gross",
        "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r674"
     ]
    },
    "us-gaap_Land": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Land",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Land",
        "documentation": "Amount before accumulated depletion of real estate held for productive use, excluding land held for sale."
       }
      }
     },
     "auth_ref": [
      "r672"
     ]
    },
    "us-gaap_LegalCostsPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LegalCostsPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Legal Costs",
        "documentation": "Disclosure of accounting policy for legal costs incurred to protect or defend the entity's assets and rights, or to obtain assets, including monetary damages, or to obtain rights."
       }
      }
     },
     "auth_ref": [
      "r273"
     ]
    },
    "fil_LesseeOperatingLeaseForAutomobileTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LesseeOperatingLeaseForAutomobileTermOfContract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease for Automobile Term of Contract",
        "documentation": "Represents the Lessee Operating Lease for Automobile Term of Contract, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI",
        "documentation": "Represents the monetary amount of Lessee Operating Lease For Parking Lot Adjustment To Lease Payments Required Every Five Years Based On Change In CPI, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LesseeOperatingLeaseForParkingLotTermOfContract": {
     "xbrltype": "durationItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LesseeOperatingLeaseForParkingLotTermOfContract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee Operating Lease for Parking Lot Term of Contract",
        "documentation": "Represents the Lessee Operating Lease for Parking Lot Term of Contract, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r726"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, after Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year One",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "negatedLabel": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r412"
     ]
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 14 - Leases",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r405"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities",
        "totalLabel": "Total liabilities",
        "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r37",
      "r38",
      "r39",
      "r40",
      "r41",
      "r42",
      "r43",
      "r172",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r375",
      "r378",
      "r379",
      "r392",
      "r519",
      "r597",
      "r653",
      "r710",
      "r727",
      "r728"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total liabilities and stockholders' equity",
        "totalLabel": "Total liabilities and stockholders' equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r85",
      "r471",
      "r629",
      "r680",
      "r697",
      "r725"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "LIABILITIES AND STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total current liabilities",
        "totalLabel": "Total current liabilities",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r39",
      "r143",
      "r172",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r375",
      "r378",
      "r379",
      "r392",
      "r629",
      "r710",
      "r727",
      "r728"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "fil_LitigationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LitigationExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Litigation Expense",
        "documentation": "Represents the monetary amount of Litigation Expense, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LitigationReserve": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LitigationReserve",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesLegalCostsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability",
        "documentation": "Aggregate carrying amount of the estimated litigation liability for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r707"
     ]
    },
    "us-gaap_LitigationReserveCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LitigationReserveCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Estimated Litigation Liability, Current",
        "documentation": "Carrying amount of reserve for known or estimated probable loss from litigation, which may include attorneys' fees and other litigation costs, which is expected to be paid within one year of the date of the statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r707"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInAustralia": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LongLivedAssetsInAustralia",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Australia",
        "documentation": "Represents the monetary amount of Long-lived assets in Australia, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInCanada": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LongLivedAssetsInCanada",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Canada",
        "documentation": "Represents the monetary amount of Long-lived assets in Canada, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInEngland": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LongLivedAssetsInEngland",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in England",
        "documentation": "Represents the monetary amount of Long-lived assets in England, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInIreland": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LongLivedAssetsInIreland",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in Ireland",
        "documentation": "Represents the monetary amount of Long-lived assets in Ireland, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "fil_LongLivedAssetsInTheUnitedStates": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "LongLivedAssetsInTheUnitedStates",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-lived assets in the United States",
        "documentation": "Represents the monetary amount of Long-lived assets in the United States, as of the indicated date."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LongTermDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebt",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebtDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Term Debt",
        "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r83",
      "r286",
      "r287",
      "r610",
      "r611",
      "r627",
      "r736"
     ]
    },
    "us-gaap_LongTermDebtAndCapitalLeaseObligations": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtAndCapitalLeaseObligations",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term lease liability",
        "documentation": "Amount of long-term debt and lease obligation, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r467"
     ]
    },
    "us-gaap_LongTermDebtTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "LongTermDebtTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote5LongTermDebt"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 5 - Long-term Debt",
        "documentation": "The entire disclosure for long-term debt."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_MachineryAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "MachineryAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentGross",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Machinery and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation of tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment."
       }
      }
     },
     "auth_ref": [
      "r72"
     ]
    },
    "srt_MaximumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MaximumMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Maximum",
        "documentation": "Upper limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r113",
      "r114",
      "r116",
      "r136",
      "r137",
      "r269",
      "r270",
      "r271",
      "r272",
      "r304",
      "r334",
      "r391",
      "r422",
      "r489",
      "r490",
      "r499",
      "r511",
      "r512",
      "r561",
      "r563",
      "r565",
      "r566",
      "r568",
      "r582",
      "r583",
      "r607",
      "r612",
      "r616",
      "r623",
      "r624",
      "r625",
      "r626",
      "r639",
      "r712",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734"
     ]
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "MinimumMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum",
        "documentation": "Lower limit of the provided range."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r113",
      "r114",
      "r116",
      "r136",
      "r137",
      "r269",
      "r270",
      "r271",
      "r272",
      "r304",
      "r334",
      "r391",
      "r422",
      "r489",
      "r490",
      "r499",
      "r511",
      "r512",
      "r561",
      "r563",
      "r565",
      "r566",
      "r568",
      "r582",
      "r583",
      "r607",
      "r612",
      "r616",
      "r623",
      "r624",
      "r625",
      "r639",
      "r712",
      "r729",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734"
     ]
    },
    "fil_NeonatalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "NeonatalMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Neonatal",
        "documentation": "Represents the Neonatal, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash (used in) financing activities",
        "totalLabel": "Net cash (used in) financing activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash (used in) investing activities",
        "totalLabel": "Net cash (used in) investing activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r169"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net cash provided by operating activities",
        "totalLabel": "Net cash provided by operating activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r62",
      "r63",
      "r65"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 18 - Recent Accounting Pronouncements",
        "documentation": "The entire disclosure for change in accounting principle. Includes, but is not limited to, nature, reason, and method of adopting amendment to accounting standards or other change in accounting principle."
       }
      }
     },
     "auth_ref": [
      "r106",
      "r140",
      "r178",
      "r179",
      "r182",
      "r183",
      "r193",
      "r194",
      "r233",
      "r243",
      "r244",
      "r367",
      "r368",
      "r370",
      "r372",
      "r385",
      "r387",
      "r414",
      "r416",
      "r417",
      "r426",
      "r427",
      "r428",
      "r494",
      "r495",
      "r496",
      "r497",
      "r498"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote18RecentAccountingPronouncementsNewAccountingPronouncementsPolicyPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "New Accounting Pronouncements, Policy",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Non-Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "fil_ObstetricsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ObstetricsMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Obstetrics",
        "documentation": "Represents the Obstetrics, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expense"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating income",
        "totalLabel": "Operating income",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r91",
      "r598",
      "r690",
      "r691",
      "r692",
      "r693",
      "r694"
     ]
    },
    "fil_OperatingIncomeMargin": {
     "xbrltype": "percentItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "OperatingIncomeMargin",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Income Margin",
        "documentation": "Represents the percentage value of Operating Income Margin, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseCost": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseCost",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Cost",
        "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability."
       }
      }
     },
     "auth_ref": [
      "r409",
      "r628"
     ]
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Current",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r408"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r407"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amortization of operating lease assets",
        "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease."
       }
      }
     },
     "auth_ref": [
      "r677"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r411",
      "r628"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesLesseeOperatingLeaseLiabilityToBePaidMaturityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r410",
      "r628"
     ]
    },
    "us-gaap_OtherAccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_AccruedLiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other",
        "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r38"
     ]
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid expenses and other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r155",
      "r629"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Foreign currency translation adjustment",
        "verboseLabel": "Foreign currency translation net of taxes of $0 in all periods",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r477"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncomeParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Comprehensive Income (Loss), Foreign Currency Translation Adjustment, Tax",
        "documentation": "Amount of tax expense (benefit), after reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r3",
      "r394",
      "r401"
     ]
    },
    "fil_OtherCostOfSales": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "OtherCostOfSales",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other cost of sales",
        "documentation": "Represents the monetary amount of Other cost of sales, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherFiniteLivedIntangibleAssetsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherFiniteLivedIntangibleAssetsGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails": {
       "parentTag": "us-gaap_FiniteLivedIntangibleAssetsGross",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Finite-Lived Intangible Assets, Gross",
        "documentation": "Amount before accumulated amortization of finite-lived intangible assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r673",
      "r702"
     ]
    },
    "us-gaap_OtherIncomeAndExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherIncomeAndExpensesAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other income (expense)"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherInterestAndDividendIncome": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherInterestAndDividendIncome",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividend and interest income",
        "documentation": "Amount, after discount, accretion and premium amortization, of interest income and dividend income classified as other."
       }
      }
     },
     "auth_ref": [
      "r88"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long term income tax payable (REPAT tax) (note 7)",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r41"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r58"
     ]
    },
    "us-gaap_OtherOperatingIncomeExpenseNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherOperatingIncomeExpenseNet",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Operating Income (Expense), Net",
        "documentation": "The net amount of other operating income and expenses, the components of which are not separately disclosed on the income statement, from items that are associated with the entity's normal revenue producing operations."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherSellingGeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "OtherSellingGeneralAndAdministrativeExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other Selling, General and Administrative Expense",
        "documentation": "Amount of selling, general and administrative expense classified as other."
       }
      }
     },
     "auth_ref": [
      "r56"
     ]
    },
    "fil_OusMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "OusMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "OUS",
        "documentation": "Represents the OUS, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PaymentsForRepurchaseOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsForRepurchaseOfCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired {1}",
        "negatedLabel": "Common stock purchased and retired",
        "documentation": "The cash outflow to reacquire common stock during the period."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_PaymentsOfDividends": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsOfDividends",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Dividends paid",
        "negatedLabel": "Dividends paid",
        "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests."
       }
      }
     },
     "auth_ref": [
      "r61"
     ]
    },
    "us-gaap_PaymentsToAcquireIntangibleAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquireIntangibleAssets",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Intangible assets",
        "negatedLabel": "Intangible assets",
        "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment",
        "negatedLabel": "Property and equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote13EmployeeBenefitPlans"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 13 - Employee Benefit Plans",
        "documentation": "The entire disclosure for retirement benefits."
       }
      }
     },
     "auth_ref": [
      "r291",
      "r292",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r299",
      "r300",
      "r301",
      "r302",
      "r303",
      "r615"
     ]
    },
    "us-gaap_PolicyTextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PolicyTextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Policies"
       }
      }
     },
     "auth_ref": []
    },
    "fil_PresentationOfSalesAndSimilarTaxesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "PresentationOfSalesAndSimilarTaxesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPresentationOfSalesAndSimilarTaxesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Presentation of Sales and Similar Taxes",
        "documentation": "Represents the textual narrative disclosure of Presentation of Sales and Similar Taxes, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProceedsFromIssuanceOfCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromIssuanceOfCommonStock",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from issuance of common stock - options",
        "documentation": "The cash inflow from the additional capital contribution to the entity."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Proceeds from the sale of property and equipment",
        "documentation": "The cash inflow from the sale of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]",
        "documentation": "Information by product and service, or group of similar products and similar services."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r134",
      "r228",
      "r424",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r587",
      "r613",
      "r638",
      "r639",
      "r640",
      "r642",
      "r643",
      "r670",
      "r708",
      "r709",
      "r713",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "fil_ProductSaleAndPurchaseCommitmentsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ProductSaleAndPurchaseCommitmentsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitments"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 12 - Product Sale and Purchase Commitments",
        "documentation": "Product Sale and Purchase Commitments."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProductWarrantyAccrual": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProductWarrantyAccrual",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote6CommitmentsAndContingenciesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard and Extended Product Warranty Accrual",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers."
       }
      }
     },
     "auth_ref": [
      "r82",
      "r274",
      "r275",
      "r276"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service",
        "documentation": "Product or service, or a group of similar products or similar services."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r119",
      "r120",
      "r121",
      "r122",
      "r123",
      "r134",
      "r228",
      "r424",
      "r482",
      "r483",
      "r484",
      "r485",
      "r486",
      "r487",
      "r488",
      "r587",
      "r613",
      "r638",
      "r639",
      "r640",
      "r642",
      "r643",
      "r670",
      "r708",
      "r709",
      "r713",
      "r737",
      "r738",
      "r739",
      "r740",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_ProfitLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProfitLoss",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net income",
        "totalLabel": "Net income",
        "verboseLabel": "Net Income",
        "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r141",
      "r157",
      "r159",
      "r168",
      "r172",
      "r180",
      "r188",
      "r191",
      "r192",
      "r241",
      "r277",
      "r278",
      "r279",
      "r280",
      "r281",
      "r282",
      "r283",
      "r284",
      "r285",
      "r369",
      "r372",
      "r373",
      "r376",
      "r377",
      "r390",
      "r392",
      "r463",
      "r476",
      "r505",
      "r541",
      "r556",
      "r557",
      "r620",
      "r621",
      "r652",
      "r676",
      "r710"
     ]
    },
    "fil_PropertyPlantAndEquipmentByLocationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "PropertyPlantAndEquipmentByLocationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property Plant and Equipment by Location",
        "documentation": "Represents the textual narrative disclosure of Property Plant and Equipment by Location, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PropertyPlantAndEquipmentByTypeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentByTypeAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset [Axis]",
        "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r413"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipment"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 4 - Property and Equipment",
        "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r98",
      "r102",
      "r103"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentGross",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": "us-gaap_PropertyPlantAndEquipmentNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Gross",
        "totalLabel": "Property, Plant and Equipment, Gross",
        "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r146",
      "r474"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and equipment, net (notes 4 and 10)",
        "totalLabel": "Property and equipment, net (notes 4 and 10)",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r413",
      "r464",
      "r474",
      "r629"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property and Equipment",
        "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections."
       }
      }
     },
     "auth_ref": [
      "r7",
      "r98",
      "r102",
      "r472"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment",
        "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation."
       }
      }
     },
     "auth_ref": [
      "r7"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentTypeDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentTypeDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Long-Lived Tangible Asset",
        "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r413"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentUsefulLife": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "PropertyPlantAndEquipmentUsefulLife",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Property, Plant and Equipment, Useful Life",
        "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ProvisionForDoubtfulAccounts": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ProvisionForDoubtfulAccounts",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Provision for losses on accounts receivable",
        "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r247"
     ]
    },
    "us-gaap_QuarterlyFinancialInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "QuarterlyFinancialInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnaudited"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 3 - Quarterly Results of Operations (Unaudited)",
        "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information."
       }
      }
     },
     "auth_ref": [
      "r67",
      "r208"
     ]
    },
    "fil_Range1Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "Range1Member",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 1",
        "documentation": "Represents the Range 1, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_Range2Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "Range2Member",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 2",
        "documentation": "Represents the Range 2, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_Range3Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "Range3Member",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 3",
        "documentation": "Represents the Range 3, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_Range4Member": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "Range4Member",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Range 4",
        "documentation": "Represents the Range 4, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]",
        "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r113",
      "r114",
      "r116",
      "r136",
      "r137",
      "r269",
      "r270",
      "r271",
      "r272",
      "r292",
      "r304",
      "r320",
      "r321",
      "r322",
      "r334",
      "r391",
      "r420",
      "r421",
      "r422",
      "r489",
      "r490",
      "r499",
      "r511",
      "r512",
      "r561",
      "r563",
      "r565",
      "r566",
      "r568",
      "r582",
      "r583",
      "r607",
      "r612",
      "r616",
      "r623",
      "r624",
      "r625",
      "r626",
      "r639",
      "r646",
      "r705",
      "r712",
      "r724",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "RangeMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement",
        "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median."
       }
      }
     },
     "auth_ref": [
      "r109",
      "r111",
      "r113",
      "r114",
      "r116",
      "r136",
      "r137",
      "r269",
      "r270",
      "r271",
      "r272",
      "r292",
      "r304",
      "r320",
      "r321",
      "r322",
      "r334",
      "r391",
      "r420",
      "r421",
      "r422",
      "r489",
      "r490",
      "r499",
      "r511",
      "r512",
      "r561",
      "r563",
      "r565",
      "r566",
      "r568",
      "r582",
      "r583",
      "r607",
      "r612",
      "r616",
      "r623",
      "r624",
      "r625",
      "r626",
      "r639",
      "r646",
      "r705",
      "r712",
      "r724",
      "r730",
      "r731",
      "r732",
      "r733",
      "r734"
     ]
    },
    "us-gaap_ReceivablesPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ReceivablesPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesAccountsReceivablePolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts Receivable",
        "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable."
       }
      }
     },
     "auth_ref": [
      "r236",
      "r237",
      "r238",
      "r240",
      "r696"
     ]
    },
    "fil_ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote14LeasesReconciliationOfOperatingLeaseLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Reconciliation of operating lease liabilities",
        "documentation": "Reconciliation of operating lease liabilities/ payments to operating lease liabilities."
       }
      }
     },
     "auth_ref": []
    },
    "fil_RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System",
        "documentation": "Represents the Remaining years of exclusive U.S. distribution rights for Femcare's Filshie Clip System, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Research and development",
        "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity."
       }
      }
     },
     "auth_ref": [
      "r335",
      "r585",
      "r602",
      "r735"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r47",
      "r76",
      "r470",
      "r494",
      "r498",
      "r502",
      "r522",
      "r629"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r138",
      "r175",
      "r176",
      "r177",
      "r181",
      "r188",
      "r190",
      "r192",
      "r242",
      "r245",
      "r266",
      "r357",
      "r358",
      "r364",
      "r365",
      "r366",
      "r370",
      "r371",
      "r372",
      "r380",
      "r382",
      "r383",
      "r386",
      "r388",
      "r403",
      "r406",
      "r491",
      "r493",
      "r506",
      "r767"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales, net (notes 1, 3, 9 and 11)",
        "verboseLabel": "Net Sales",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r90",
      "r207",
      "r215",
      "r216",
      "r221",
      "r225",
      "r228",
      "r230",
      "r232",
      "r289",
      "r290",
      "r424"
     ]
    },
    "us-gaap_RevenueRecognitionPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RevenueRecognitionPolicyTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesRevenueRecognitionPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue Recognition",
        "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources."
       }
      }
     },
     "auth_ref": [
      "r542",
      "r586",
      "r595"
     ]
    },
    "fil_RevenuesbyproductcategoryandregionTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "RevenuesbyproductcategoryandregionTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegion"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 11 - Revenues By Product Category And Region",
        "documentation": "Revenues by Product Category and Region."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RoyaltyIncomeNonoperating": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "RoyaltyIncomeNonoperating",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote12ProductSaleAndPurchaseCommitmentsDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Royalty income (note 12)",
        "documentation": "Ancillary revenue earned during the period from the consideration paid to the entity for the use of its rights and property by another party. Examples include licensing the use of copyrighted materials and leasing the extraction of natural resources."
       }
      }
     },
     "auth_ref": [
      "r57"
     ]
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Adopted"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementTradingArrangementsByIndividual"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Rule 10b5-1 Arrangement Terminated"
       }
      }
     },
     "auth_ref": [
      "r662"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario",
        "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r193",
      "r305",
      "r667",
      "r687"
     ]
    },
    "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfComponentsOfIncomeTaxExpenseBenefitTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Components of Income Tax Expense (Benefit)",
        "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years."
       }
      }
     },
     "auth_ref": [
      "r722"
     ]
    },
    "srt_ScheduleOfCondensedBalanceSheetTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "ScheduleOfCondensedBalanceSheetTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccountsDetailOfCertainBalanceSheetAccountsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Detail of Certain Balance Sheet Accounts",
        "documentation": "Tabular disclosure of condensed balance sheet, including, but not limited to, balance sheets of consolidated entities and consolidation eliminations."
       }
      }
     },
     "auth_ref": [
      "r669",
      "r683"
     ]
    },
    "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfDeferredTaxAssetsAndLiabilitiesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Deferred Tax Assets and Liabilities",
        "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets."
       }
      }
     },
     "auth_ref": [
      "r718"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Earnings Per Share, Basic and Diluted",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r689"
     ]
    },
    "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfEffectiveIncomeTaxRateReconciliationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Effective Income Tax Rate Reconciliation",
        "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r345",
      "r619",
      "r715"
     ]
    },
    "fil_ScheduleOfGeographicInformationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ScheduleOfGeographicInformationTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote9GeographicInformationScheduleOfGeographicInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Geographic Information",
        "documentation": "Represents the textual narrative disclosure of Schedule of Geographic Information, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote7IncomeTaxesScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Income before Income Tax, Domestic and Foreign",
        "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions."
       }
      }
     },
     "auth_ref": [
      "r681"
     ]
    },
    "fil_ScheduleOfLongLivedAssetsByGeographicAreaTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ScheduleOfLongLivedAssetsByGeographicAreaTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote10GeographicLongLivedAssetsInformationScheduleOfLongLivedAssetsByGeographicAreaTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Long-Lived Assets By Geographic Area",
        "documentation": "Represents the textual narrative disclosure of Schedule of Long-Lived Assets By Geographic Area, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote3QuarterlyResultsOfOperationsUnauditedQuarterlyFinancialInformationTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Quarterly Financial Information",
        "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data."
       }
      }
     },
     "auth_ref": [
      "r95"
     ]
    },
    "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Segment Reporting Information, by Segment",
        "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r25"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range",
        "documentation": "Tabular disclosure of option exercise prices, by grouped ranges, including the upper and lower limits of the price range, the number of shares under option, weighted average exercise price and remaining contractual option terms."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Compensation, Stock Options, Activity",
        "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r11",
      "r77"
     ]
    },
    "us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Share-based Payment Award, Stock Options, Valuation Assumptions",
        "documentation": "Tabular disclosure of the significant assumptions used during the year to estimate the fair value of stock options, including, but not limited to: (a) expected term of share options and similar instruments, (b) expected volatility of the entity's shares, (c) expected dividends, (d) risk-free rate(s), and (e) discount for post-vesting restrictions."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ScheduleOfWeightedAverageNumberOfSharesTableTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Weighted Average Number of Shares",
        "documentation": "Tabular disclosure of the weighted average number of shares used in calculating basic net earnings per share (or unit) and diluted earnings per share (or unit)."
       }
      }
     },
     "auth_ref": [
      "r17"
     ]
    },
    "fil_ScheduleofglobalrevenuesbyproductcategoryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ScheduleofglobalrevenuesbyproductcategoryTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of Global Revenues By Product Category",
        "documentation": "Schedule of Global Revenues by Product Category."
       }
      }
     },
     "auth_ref": []
    },
    "fil_ScheduleofousrevenuesbyproductcategoryTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "ScheduleofousrevenuesbyproductcategoryTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule Of OUS Revenues By Product Category",
        "documentation": "Schedule of OUS Revenues by Product Category."
       }
      }
     },
     "auth_ref": []
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "Security12bTitle",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r654"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r656"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical",
        "documentation": "Geographical area."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r112",
      "r115",
      "r117",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r230",
      "r231",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r508",
      "r509",
      "r510",
      "r562",
      "r564",
      "r567",
      "r569",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r588",
      "r614",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r641",
      "r646",
      "r713",
      "r737",
      "r738",
      "r739",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_SegmentReportingDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SegmentReportingDisclosureTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 17 - Segment Information",
        "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments."
       }
      }
     },
     "auth_ref": [
      "r92",
      "r207",
      "r210",
      "r211",
      "r212",
      "r213",
      "r214",
      "r218",
      "r219",
      "r220",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r228",
      "r229",
      "r232",
      "r599",
      "r600",
      "r601",
      "r602",
      "r604",
      "r605",
      "r606"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementOfIncomeAndComprehensiveIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Sales and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedCondensedStatementsOfCashFlow"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r5"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Dividend Payments",
        "documentation": "The estimated amount of dividends to be paid to holders of the underlying shares (expected dividends) over the option's term. Dividends are taken into account because payment of dividends to shareholders reduces the fair value of the underlying shares, and option holders generally do not receive dividends."
       }
      }
     },
     "auth_ref": [
      "r321"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Volatility Rate",
        "documentation": "The estimated measure of the percentage by which a share price is expected to fluctuate during a period. Volatility also may be defined as a probability-weighted measure of the dispersion of returns about the mean. The volatility of a share price is the standard deviation of the continuously compounded rates of return on the share over a specified period. That is the same as the standard deviation of the differences in the natural logarithms of the stock prices plus dividends, if any, over the period."
       }
      }
     },
     "auth_ref": [
      "r320"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Risk Free Interest Rate",
        "documentation": "The risk-free interest rate assumption that is used in valuing an option on its own shares."
       }
      }
     },
     "auth_ref": [
      "r322"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised",
        "documentation": "Number of non-option equity instruments exercised by participants."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Authorized",
        "documentation": "Number of shares authorized for issuance under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r618"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number",
        "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan."
       }
      }
     },
     "auth_ref": [
      "r311"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price",
        "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r311"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period, Intrinsic Value",
        "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares."
       }
      }
     },
     "auth_ref": [
      "r316"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period",
        "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements."
       }
      }
     },
     "auth_ref": [
      "r314"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Net of Forfeitures",
        "documentation": "Net number of share options (or share units) granted during the period."
       }
      }
     },
     "auth_ref": [
      "r714"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Weighted Average Grant Date Fair Value",
        "documentation": "The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology."
       }
      }
     },
     "auth_ref": [
      "r315"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value",
        "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding."
       }
      }
     },
     "auth_ref": [
      "r28"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number",
        "documentation": "Number of options outstanding, including both vested and non-vested options."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r310"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r310"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares."
       }
      }
     },
     "auth_ref": [
      "r313"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Expired",
        "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired."
       }
      }
     },
     "auth_ref": [
      "r314"
     ]
    },
    "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price",
        "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options."
       }
      }
     },
     "auth_ref": [
      "r312"
     ]
    },
    "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesStockBasedCompensationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock-based Compensation",
        "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r308",
      "r317",
      "r318",
      "r319",
      "r320",
      "r323",
      "r329",
      "r330",
      "r331",
      "r332"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Lower Range Limit",
        "documentation": "The floor of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Exercisable",
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding exercisable stock options as of the balance sheet date in the customized range of exercise prices for which the market and performance vesting condition has been satisfied."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Shares Outstanding",
        "documentation": "The number of shares reserved for issuance pertaining to the outstanding stock options as of the balance sheet date for all option plans in the customized range of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79"
     ]
    },
    "us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Upper Range Limit",
        "documentation": "The ceiling of a customized range of exercise prices for purposes of disclosing shares potentially issuable under outstanding stock option awards on all stock option plans and other required information pertaining to awards in the customized range."
       }
      }
     },
     "auth_ref": [
      "r31"
     ]
    },
    "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Fair Value Assumptions, Expected Term",
        "documentation": "Expected term of award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r319"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Exercisable, Weighted Average Exercise Price",
        "documentation": "Weighted average exercise price as of the balance sheet date for those equity-based payment arrangements exercisable and outstanding."
       }
      }
     },
     "auth_ref": [
      "r29"
     ]
    },
    "us-gaap_SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-Based Payment Arrangement, Option, Exercise Price Range, Outstanding, Weighted Average Exercise Price",
        "documentation": "The weighted average price as of the balance sheet date at which grantees could acquire the underlying shares with respect to all outstanding stock options which are in the customized range of exercise prices."
       }
      }
     },
     "auth_ref": [
      "r78",
      "r79"
     ]
    },
    "us-gaap_SharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SharesOutstanding",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Balance, shares",
        "periodStartLabel": "Equity Balance, shares",
        "periodEndLabel": "Equity Balance, shares",
        "documentation": "Number of shares issued which are neither cancelled nor held in the treasury."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 1 - Summary of Significant Accounting Policies",
        "documentation": "The entire disclosure for all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r66",
      "r171"
     ]
    },
    "fil_SingleOperatingSegmentMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "SingleOperatingSegmentMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Single Operating Segment",
        "documentation": "Represents the Single Operating Segment, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "fil_StandardCostOfSales": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "StandardCostOfSales",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Standard cost of sales",
        "documentation": "Represents the monetary amount of Standard cost of sales, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r45",
      "r48",
      "r49",
      "r138",
      "r162",
      "r163",
      "r164",
      "r175",
      "r176",
      "r177",
      "r181",
      "r188",
      "r190",
      "r192",
      "r209",
      "r242",
      "r245",
      "r266",
      "r288",
      "r357",
      "r358",
      "r364",
      "r365",
      "r366",
      "r370",
      "r371",
      "r372",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r386",
      "r388",
      "r396",
      "r397",
      "r398",
      "r399",
      "r400",
      "r402",
      "r403",
      "r406",
      "r415",
      "r477",
      "r491",
      "r492",
      "r493",
      "r506",
      "r558"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]",
        "documentation": "Information by geographical components."
       }
      }
     },
     "auth_ref": [
      "r110",
      "r112",
      "r115",
      "r117",
      "r124",
      "r125",
      "r126",
      "r127",
      "r128",
      "r129",
      "r130",
      "r131",
      "r132",
      "r133",
      "r230",
      "r231",
      "r430",
      "r431",
      "r432",
      "r433",
      "r434",
      "r435",
      "r436",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r442",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449",
      "r450",
      "r451",
      "r452",
      "r453",
      "r454",
      "r455",
      "r456",
      "r457",
      "r458",
      "r459",
      "r508",
      "r509",
      "r510",
      "r562",
      "r564",
      "r567",
      "r569",
      "r571",
      "r573",
      "r574",
      "r575",
      "r576",
      "r577",
      "r578",
      "r579",
      "r580",
      "r581",
      "r588",
      "r614",
      "r630",
      "r631",
      "r632",
      "r633",
      "r634",
      "r635",
      "r636",
      "r637",
      "r641",
      "r646",
      "r713",
      "r737",
      "r738",
      "r739",
      "r741",
      "r742",
      "r743",
      "r744",
      "r745",
      "r746",
      "r747",
      "r748",
      "r749",
      "r750",
      "r751",
      "r752",
      "r753",
      "r754",
      "r755",
      "r756",
      "r757",
      "r758",
      "r759",
      "r760",
      "r761",
      "r762",
      "r763",
      "r764",
      "r765"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementLineItems",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r176",
      "r177",
      "r209",
      "r406",
      "r424",
      "r500",
      "r507",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r521",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r540",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r558",
      "r647"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED CONDENSED STATEMENTS OF CASH FLOW"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS",
        "verboseLabel": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED BALANCE SHEETS - Parenthetical"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "UTAH MEDICAL PRODUCTS, INC. CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2024",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]",
        "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r193",
      "r305",
      "r667",
      "r668",
      "r687"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StatementTable",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfGlobalRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote11RevenuesByProductCategoryAndRegionScheduleOfOusRevenuesByProductCategoryDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote15CsiDistributionAgreementPurchaseDisclosureDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote17SegmentInformationScheduleOfSegmentReportingInformationBySegmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesIntangibleAssetsDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationStockOptionsActivityDetails",
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement",
        "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity."
       }
      }
     },
     "auth_ref": [
      "r175",
      "r176",
      "r177",
      "r209",
      "r234",
      "r406",
      "r424",
      "r500",
      "r507",
      "r513",
      "r514",
      "r515",
      "r516",
      "r517",
      "r518",
      "r521",
      "r524",
      "r525",
      "r526",
      "r527",
      "r528",
      "r529",
      "r530",
      "r531",
      "r532",
      "r534",
      "r535",
      "r536",
      "r537",
      "r538",
      "r540",
      "r542",
      "r543",
      "r544",
      "r545",
      "r546",
      "r547",
      "r548",
      "r549",
      "r550",
      "r551",
      "r552",
      "r553",
      "r554",
      "r555",
      "r558",
      "r647"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued upon exercise of employee stock options, shares",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r44",
      "r45",
      "r76",
      "r313"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockIssuedDuringPeriodValueStockOptionsExercised",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock issued upon exercise of employee stock options",
        "documentation": "Value of stock issued as a result of the exercise of stock options."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r45",
      "r48",
      "r49",
      "r76"
     ]
    },
    "us-gaap_StockOptionPlanExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockOptionPlanExpense",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stock option compensation expense",
        "documentation": "Amount of noncash expense for option under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r6"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedAndRetiredDuringPeriodShares",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired, shares",
        "documentation": "Number of shares that have been repurchased and retired during the period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r44",
      "r45",
      "r76"
     ]
    },
    "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockRepurchasedAndRetiredDuringPeriodValue",
     "crdr": "debit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock purchased and retired",
        "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r44",
      "r45",
      "r76"
     ]
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Total stockholders' equity",
        "totalLabel": "Total stockholders' equity",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r45",
      "r48",
      "r49",
      "r69",
      "r523",
      "r539",
      "r559",
      "r560",
      "r629",
      "r653",
      "r680",
      "r697",
      "r725",
      "r767"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Stockholders' equity"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest",
     "crdr": "credit",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_StatementUtahMedicalProductsIncConsolidatedStatementsOfStockholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Balance, value",
        "periodStartLabel": "Equity Balance, value",
        "periodEndLabel": "Equity Balance, value",
        "documentation": "Amount of equity (deficit) attributable to parent and noncontrolling interest. Excludes temporary equity."
       }
      }
     },
     "auth_ref": [
      "r32",
      "r33",
      "r35",
      "r138",
      "r139",
      "r163",
      "r175",
      "r176",
      "r177",
      "r181",
      "r188",
      "r190",
      "r242",
      "r245",
      "r266",
      "r288",
      "r357",
      "r358",
      "r364",
      "r365",
      "r366",
      "r370",
      "r371",
      "r372",
      "r380",
      "r381",
      "r382",
      "r383",
      "r384",
      "r386",
      "r388",
      "r396",
      "r397",
      "r402",
      "r404",
      "r415",
      "r492",
      "r493",
      "r504",
      "r523",
      "r539",
      "r559",
      "r560",
      "r570",
      "r652",
      "r680",
      "r697",
      "r725",
      "r767"
     ]
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote19SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 19 - Subsequent Events",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r418",
      "r419"
     ]
    },
    "us-gaap_SupplementalBalanceSheetDisclosuresTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "SupplementalBalanceSheetDisclosuresTextBlock",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote2DetailOfCertainBalanceSheetAccounts"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Note 2 - Detail of Certain Balance Sheet Accounts",
        "documentation": "The entire disclosure for supplemental balance sheet disclosures, including descriptions and amounts for assets, liabilities, and equity."
       }
      }
     },
     "auth_ref": [
      "r671"
     ]
    },
    "us-gaap_TableTextBlockSupplementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TableTextBlockSupplementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Tables/Schedules"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TextBlockAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "TextBlockAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Details"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_TradingArrByIndTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2024",
     "localname": "TradingArrByIndTable",
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Arrangements, by Individual"
       }
      }
     },
     "auth_ref": [
      "r663"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2024",
     "localname": "TradingSymbol",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DocumentDocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "fil_USAndCanadaMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "USAndCanadaMember",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote4PropertyAndEquipmentPropertyPlantAndEquipmentByLocationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "U.S. And Canada",
        "documentation": "Represents the U.S. And Canada, during the indicated time period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesUseOfEstimatesInThePreparationOfFinancialStatementsPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Use of Estimates in The Preparation of Financial Statements",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r21",
      "r22",
      "r96",
      "r97",
      "r99",
      "r100"
     ]
    },
    "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustment",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Diluted, Adjustment",
        "verboseLabel": "Dilutive effect of stock options",
        "documentation": "The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation."
       }
      }
     },
     "auth_ref": [
      "r689"
     ]
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted shares",
        "totalLabel": "Weighted Average Number of Shares Outstanding, Diluted",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r197",
      "r201"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2024",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote16EarningsPerShareScheduleOfEarningsPerShareBasicAndDilutedDetails",
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote1SummaryOfSignificantAccountingPoliciesEarningsPerShareScheduleOfWeightedAverageNumberOfSharesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Number of Shares Outstanding, Basic",
        "verboseLabel": "Weighted average shares, basic",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r196",
      "r201"
     ]
    },
    "fil_WeightedAverageRemainingContractualLifeYears": {
     "xbrltype": "decimalItemType",
     "nsuri": "http://www.utahmed.com/20241231",
     "localname": "WeightedAverageRemainingContractualLifeYears",
     "presentation": [
      "http://www.utahmed.com/20241231/role/idr_DisclosureNote8OptionsScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Weighted Average Remaining Contractual Life (Years)",
        "documentation": "Represents the Weighted Average Remaining Contractual Life (Years), as of the indicated date."
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "4",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482338/360-10-05-4"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-12"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "14",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-25"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "280",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "30",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-15"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-16"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "810",
   "SubTopic": "10",
   "Section": "55",
   "Paragraph": "4I",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4I"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(21))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/235/tableOfContent"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "270",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/270/tableOfContent"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/275/tableOfContent"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480581/330-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/360/tableOfContent"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "360",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.CC)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480091/360-10-S99-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "440",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/440/tableOfContent"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/470/tableOfContent"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "718",
   "SubTopic": "10",
   "Subparagraph": "(f)(2)",
   "Name": "Accounting Standards Codification",
   "Paragraph": "2",
   "Section": "50",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(15)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r93": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2"
  },
  "r94": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482989/270-10-45-6"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "270",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "SubTopic": "360",
   "Topic": "958",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "250",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/250/tableOfContent"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-K (SK)",
   "Number": "229",
   "Section": "1402",
   "Paragraph": "b",
   "Subparagraph": "(1)(Instruction 4)",
   "Publisher": "SEC"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12",
   "Paragraph": "Column C",
   "Footnote": "5",
   "Publisher": "SEC"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12A",
   "Paragraph": "Column C",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(a)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column A",
   "Subparagraph": "(b)",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "12B",
   "Paragraph": "Column C",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "14",
   "Paragraph": "Column F",
   "Footnote": "7",
   "Publisher": "SEC"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column A",
   "Publisher": "SEC"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "17",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column A",
   "Footnote": "2",
   "Publisher": "SEC"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column B",
   "Publisher": "SEC"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column C",
   "Publisher": "SEC"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column D",
   "Publisher": "SEC"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column E",
   "Publisher": "SEC"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column F",
   "Publisher": "SEC"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column G",
   "Publisher": "SEC"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column H",
   "Publisher": "SEC"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "28",
   "Paragraph": "Column I",
   "Publisher": "SEC"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "29",
   "Paragraph": "Column A",
   "Footnote": "4",
   "Publisher": "SEC"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "L",
   "Publisher": "SEC"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 11",
   "Section": "M",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 4",
   "Publisher": "SEC"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-7"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483489/210-10-50-1"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(3)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-2"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-1"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-6"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/260/tableOfContent"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1B"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/280/tableOfContent"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "26C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "34",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476173/280-10-65-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(e)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/330/tableOfContent"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-1"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483080/330-10-50-4"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-2"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-4"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "440",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-2"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-4"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "460",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482425/460-10-50-8"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/715/tableOfContent"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(iv)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(o)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(p)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(q)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(r)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480126/715-20-S99-2"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480266/715-60-50-3"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "70",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480794/715-70-50-1"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/718/tableOfContent"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(v)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(l)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.C.Q3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.1.Q5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.2.Q6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.D.3.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 14.F)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "720",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/740/tableOfContent"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-25"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-28"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10A"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-19"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "20",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-20"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "805",
   "SubTopic": "60",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/830/tableOfContent"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-5"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-21"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/842-20/tableOfContent"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "12A",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(d)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/855/tableOfContent"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "912",
   "SubTopic": "330",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478411/912-330-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "926",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483194/926-20-65-2"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "928",
   "SubTopic": "340",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "18",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "19",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "280",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "932",
   "SubTopic": "323",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r475": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r476": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r478": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r479": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r480": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r481": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r483": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r484": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r485": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r486": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r487": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2"
  },
  "r488": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E"
  },
  "r489": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r490": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r491": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r492": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r493": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r494": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r495": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r496": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r497": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r498": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2"
  },
  "r499": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.W.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1"
  },
  "r500": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r501": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(h)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3"
  },
  "r502": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11"
  },
  "r503": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13"
  },
  "r504": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r505": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-3"
  },
  "r506": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r507": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4"
  },
  "r508": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r509": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2"
  },
  "r510": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r511": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r512": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r513": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r514": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r515": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r516": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r517": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r520": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r521": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r523": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r524": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r525": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r526": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r527": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r528": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r529": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r530": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r531": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r532": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r533": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r534": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r535": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r536": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r537": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1"
  },
  "r538": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r539": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2"
  },
  "r540": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3"
  },
  "r541": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7"
  },
  "r542": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r543": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r544": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r545": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r546": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r547": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r548": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r549": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r550": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r551": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r552": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r553": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r554": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r555": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r556": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1"
  },
  "r557": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r558": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r559": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r560": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r561": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r562": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r563": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r564": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r565": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r566": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r567": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r568": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r569": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r570": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "505",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-3"
  },
  "r571": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1"
  },
  "r572": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "954",
   "SubTopic": "440",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1"
  },
  "r573": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r574": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r575": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r576": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r577": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r578": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r579": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r580": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r581": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1"
  },
  "r582": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1"
  },
  "r583": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1"
  },
  "r584": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/985-20/tableOfContent"
  },
  "r585": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "985",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2"
  },
  "r586": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(e)",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r587": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r588": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H"
  },
  "r589": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r590": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r591": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1"
  },
  "r592": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r593": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r594": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r595": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4"
  },
  "r596": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52"
  },
  "r597": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r598": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31"
  },
  "r599": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r600": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r601": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "47",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47"
  },
  "r602": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "48",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48"
  },
  "r603": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "49",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49"
  },
  "r604": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r605": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r606": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "54",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54"
  },
  "r607": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A"
  },
  "r608": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24"
  },
  "r609": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40"
  },
  "r610": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B"
  },
  "r611": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C"
  },
  "r612": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13"
  },
  "r613": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r614": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91"
  },
  "r615": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17"
  },
  "r616": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8"
  },
  "r617": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r618": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r619": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "231",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231"
  },
  "r620": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4J",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4J"
  },
  "r621": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4K",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481175/810-10-55-4K"
  },
  "r622": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "100",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100"
  },
  "r623": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "103",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103"
  },
  "r624": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r625": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r626": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "107",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107"
  },
  "r627": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8"
  },
  "r628": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53"
  },
  "r629": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10"
  },
  "r630": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17"
  },
  "r631": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21"
  },
  "r632": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "29",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29"
  },
  "r633": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3"
  },
  "r634": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2"
  },
  "r635": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4"
  },
  "r636": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5"
  },
  "r637": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "932",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6"
  },
  "r638": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2"
  },
  "r639": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F"
  },
  "r640": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r641": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C"
  },
  "r642": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "9E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E"
  },
  "r643": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "18",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18"
  },
  "r644": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1"
  },
  "r645": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6"
  },
  "r646": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1"
  },
  "r647": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1"
  },
  "r648": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1"
  },
  "r649": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2"
  },
  "r650": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3"
  },
  "r651": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6"
  },
  "r652": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-11"
  },
  "r653": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12"
  },
  "r654": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r655": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r656": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r657": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-K",
   "Number": "249",
   "Section": "310"
  },
  "r658": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 20-F",
   "Number": "249",
   "Section": "220",
   "Subsection": "f"
  },
  "r659": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 40-F",
   "Number": "249",
   "Section": "240",
   "Subsection": "f"
  },
  "r660": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r661": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "402",
   "Subsection": "w"
  },
  "r662": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r663": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "2",
   "Subparagraph": "A"
  },
  "r664": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r665": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "230",
   "Section": "405"
  },
  "r666": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Securities Act",
   "Number": "7A",
   "Section": "B",
   "Subsection": "2"
  },
  "r667": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10"
  },
  "r668": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3"
  },
  "r669": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Regulation S-X (SX)",
   "Number": "210",
   "Section": "12",
   "Subsection": "04",
   "Paragraph": "a",
   "Publisher": "SEC"
  },
  "r670": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Staff Accounting Bulletin (SAB)",
   "Number": "Topic 5",
   "Section": "Y",
   "Paragraph": "Question 2",
   "Publisher": "SEC"
  },
  "r671": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/210/tableOfContent"
  },
  "r672": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r673": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r674": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r675": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1"
  },
  "r676": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6"
  },
  "r677": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28"
  },
  "r678": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2"
  },
  "r679": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A"
  },
  "r680": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r681": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1"
  },
  "r682": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r683": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-3"
  },
  "r684": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23"
  },
  "r685": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24"
  },
  "r686": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5"
  },
  "r687": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4"
  },
  "r688": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6"
  },
  "r689": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1"
  },
  "r690": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "270",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1"
  },
  "r691": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22"
  },
  "r692": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30"
  },
  "r693": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(ee)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r694": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32"
  },
  "r695": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2"
  },
  "r696": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2"
  },
  "r697": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3"
  },
  "r698": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-20/tableOfContent"
  },
  "r699": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r700": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1"
  },
  "r701": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/350-30/tableOfContent"
  },
  "r702": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r703": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2"
  },
  "r704": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "405",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/405-30/tableOfContent"
  },
  "r705": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10"
  },
  "r706": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/450/tableOfContent"
  },
  "r707": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-1"
  },
  "r708": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9"
  },
  "r709": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1"
  },
  "r710": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r711": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A"
  },
  "r712": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B"
  },
  "r713": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5"
  },
  "r714": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(01)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2"
  },
  "r715": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r716": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12"
  },
  "r717": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12A"
  },
  "r718": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-2"
  },
  "r719": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22"
  },
  "r720": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "23",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23"
  },
  "r721": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-6"
  },
  "r722": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-9"
  },
  "r723": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1"
  },
  "r724": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "820",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(bbb)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2"
  },
  "r725": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28"
  },
  "r726": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6"
  },
  "r727": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r728": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7"
  },
  "r729": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r730": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r731": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3"
  },
  "r732": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r733": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r734": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4"
  },
  "r735": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1"
  },
  "r736": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1"
  },
  "r737": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B"
  },
  "r738": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r739": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B"
  },
  "r740": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C"
  },
  "r741": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D"
  },
  "r742": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4G",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G"
  },
  "r743": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r744": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r745": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r746": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5"
  },
  "r747": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r748": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r749": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r750": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r751": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r752": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(5)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r753": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)(6)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r754": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6"
  },
  "r755": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r756": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r757": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r758": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r759": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r760": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A"
  },
  "r761": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r762": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r763": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B"
  },
  "r764": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r765": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2"
  },
  "r766": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4"
  },
  "r767": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  },
  "r768": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>123
<FILENAME>0001096906-25-000308-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001096906-25-000308-xbrl.zip
M4$L#!!0    ( *>)>EK,?D.;%\X! -6C$  1    =71M9"TR,#(T,3(S,2YH
M=&WLO6E7&TFV+OS]_HI\W=VG85T)D !C[&K?)8/LXI09&D$-?=>[S@HI0U*6
M4YGJ',#J7W_W%$.FA $;$-B<H0PH%1G#CCWO9__T?SY/XN!"9WF4)O_X>VMM
MX^^!3@9I&"6C?_R]T]L[./C[_WG[OWX:%_ 8/)KD_W@Q+HKIZ_7UR\O+M<O-
MM30;K;=V=W?7/^,S+_BAU\,HKCQ8%FH\T>':()VLMS?:6ZWV9LL\JP>A??9S
M/XO7<CU8&Z47Z_ !/6P>S+/"/CA4>9_>#7^L/%3FS9%2T_D'Y8/*PX.T3(IL
MMOCU\F'E"Z&.%C\,'U0?++)F,9OJZG[15W R\/$Z?HS?:3<W-IMN.Z+%WVAO
M;&RN1TE>J&2@S;/XZ6V?#VLKD(=?KO.'=AIYNM5N[7QI<'["?N'S5<^V<")Q
ME.C?WYU^=(\7BY]WCZX7F4KR89I-5 'DB7NUT=QH-UMM;Y FG$!E(',B7QJG
MM=W<>.7M>5ED5RYT=QT^-0_"D)^^L"7X<5_E;K_GGJ_<&/S4/II'BQZ$85OK
MOQ]^[ W&>J*:]D#Q3FH5PC__7[,9G&1I6 YT&/1G07?_0^<T+Z-"!WDZ+"Y5
MIAM!)[S KX7!7CJ9EH7.@H,D22]H/_(&_#)8:\!GTUD6C<9%L+*W&L";7S5A
MR[>#_WMR\OLOVQ]^VWG9^KCQ:_>_S]ZW_W7Z_Z\%.$T=CE1&;\.['32;,*,B
M*F+]]ORL\W-PV-T_V.M\#$Y.C_?/]\YZP<'17M ,WL-9!*V-YB]!K[L7 +,
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
MK;5*=.</G9M?*3!6^? :H_@WF-$O.*&>S.> IG,-V]@&MI'6688WAY=O'CI
M<?>GE:0%_.7?980D#)0[Q(!31A',?#%);Z)SDJ.'CK#O[JA^3>,R*51&$:HL
MO^:(7GY?1W0YUN0<KIW32FLU&,/-P<,) Q7']H3\H^MK>0#&_,)I>7?,B% \
M0?P88[U!6&(M!CTZS?1 DR;::@>44I '*S#>$/X_+T$5S,<IQGE,1+88JZ(^
M]TN5SQ,8?5G6L I,(0F#E3:OL:\UL(VR_R>L )^G1^%+. L9!\/M.4V")JGR
M(MC="$(URZMD>%WV B@\0*G"ABM$4QGF**T0\_= 4+C1L,>3J"C@5#07YR>8
M-AW/ GVALUEP@-(8-@G]:ONJ4!R*KM&;&\-G%3Y7/]6C,N:(0:]Y%JS@)NR\
M:6^VURS;CRA>.,5XX7T3'\_7TI3.5]=NPYN\/<$MV2NS#$CQ&A:U(U3V!1YU
M4W(;9U7?":@M8TTYA1OB-#&IAJ];6T!2&_B_+];?>E^<JI%N]C.M/C75$%;S
M6L67<''>U ?<G!9O^FKP:92E91(V10/:W<#_->]XA:_ X2TUPRW533LECX*7
M$L+_L\R+:#B[CPM$>DX,0^E #09P@3*%MP!I"I6<9.%?0=@FS84?Y!.X>? 6
M9HE(\X-T EQIUD#V#<,!S\-ICP(XC\MB;#Y> VZN:6ZD5%%Z#'G'T4?8WGAS
MU0SIX]8;\]BU#UP]/_,@LG!Y^(JYFB>-V@?6>;-MA)(OB6I7\DXHX-%E%;QX
M^W'QV50N_[V%?5^\[=STQ?<5)+\V$X 4P#V8X"C-9C<(K7%Z/*UE(-^J!=A>
MO4)U<<$=7)!D)^FJ][;_O:NNU-79H+PM],5W90ZL-E^D'M\\R_#5U7FY#W+^
MM_,V?,4+NHLYT74[;+[V@;ZUQU_ZIIW>W;@RG_-)F/_#+\@@C#K=T-Y$M9.4
M3;AW:'B"1E;F++]@8SD7>D&>)XA ?%<\PY=?1O!J/,0$%I/B_;F(<KK'B4H&
MD8J1I6+R%#Z,32-#E85@RF*(/KS*3;.YHE:_+(H6V+%/W@(0<U)8$#KX48HK
MT.<Q2P$W!O8(T_E@,J VHMEE8X\JSX']X)_,ONGA4)-JG$B$'K\9H<:<P*'@
MY<G2.$C!N/#.RG$_T#+A$W,B6QM;7JRMI[*^@F&;QY]C/2-K=:6U'9RO];!J
M9:?]$@-SJ[APMTKQR?5CN. >10RC;,*F M@74X4/ 1&1=RJD&:LRC J9UUH
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
M$48?Y/N(.(CR$$!U F_7.C.,HM"#,=\RV*-!-$7UA%[N6G0!K>3IL+@$#MN
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
MO*<JIFM,7CS.A>#LN1D*Z4H.!?M%A/Y..A\['OF]F2=@H=LY/TJ-D*N.!I<
MRZ'SN; Y)[RHN*2K9;"*D#9,L3:B#:O,FG<8VK;)J10%M3ZY9A_YC XE-X#C
MM3:A'#@6J"&X-=/( IA(1K[;A\,_NA^/%]S#Y1")!,;%@F0X!EM1:#-[?NX>
M^E-NS.4 #2,4X379.<':M$DTR%(U&F&V:V& 7G*&VC'6MX';P*)^T> I/NKX
M"V<NH_81:N88@QFA6=&=5-Q[ QZ*!<CJ,43>MKZ[R%N"9T@@2* J@EQ//1'@
MRES&[%0@ET&974076!LVBJA13L)99DUGPTJ\FOP)Y"(G?9(+O'R94#7E4)_R
M=4B8Q:4A0H%MM[W&>)2^POS=Z!-?6DO0A@?PA:9Z*W%6W+I@[&Y4,?2:#1B"
MP3CYN4<#5TA;=&DV;A:FG6 UD?XD\9-, R?$M'U2P5W_JAROCC'5Q',D[8YJ
M[4&(\0W1DX>-RIP\L3TE*I46]42K;RS;>KB\Z \S4.P9A'7]/),?!.,/Z'BD
ML=/M ^9(?^R>_4N\-)S(_CIX3_T5N_\;E&\L(@ F"I_9\_B8IM-&\$XA["GW
MX" 9)4L UOP0.=8X:YMX#Q=OBJEID7&_%@:Z!74U)L3_@.JQ:E.MD=(_4Y8N
MZ@8#)/F,W!JFU+3N#(<+@*8*-A_9.SAB-#^V)+CJ8*03RF[AIBMPOR5%@,T*
MA&0K8:4@\J:@K\*B$;(0WK?R\\FOJPO*#\\L!(*A"2]:33H#ZJM@C:/*SLF)
M9 P5BV @B1&=_.HOSN@LMN*M(;89.Z7B,/B4(.!X#H]/-1PTK%U8WB";I>P%
M=W/B9#R0OQA\LDHZY_"ZUH(-LKH:#K*O$?R[C :?F-FHG(/K'#QOT*J&&O?6
M9=E2SQD#V\>U6Y2#D0,_*@J_[ </@K0EIX1S$Q9LW)&0<,%MD;<9_D14Y3;:
M1,.CPJ#BR/.4SFBZ56#-L<[10 >]G"R$^7Y2#9>9+:^BHF+ALF#-DX_#9C:R
M2&,H=NEUA8ZLHF#8>%[1(3)3Z_R*9]8FB&=SF=M\?"NB1@,3I4NQVJB<Y@JB
MKY!;C?+R\-%5TX>+"@8&H&"5DD>^8O[(8I.,+[C[1>8J^F6(AMU6DY,Q)"N>
MYT)\'E&+Z#@4&(54:Z"X UV>6Y %,IG,;48W#=Q>]C[Q0%)UNEPUMQ(G\7F4
M=;MYRJRV'%-\C,QVA1E[UY^V8V1X<>XQ'["8,2%7(GC.O5V!Q"[4&'FVC.M-
M@/FFF46CSAJ93"NGU#!QPV00Q<T8U1RTOJP90\AG93+*,47],LKD'0HH%UA#
MI7*"/HA\L4Z%D]F,7.84LV&'OFR<"M"AVCQK?E#E2/MQ!4%>-MA@5$7&GAO+
M#? 1 Y#F<"8-76$1AH!C(0ZZH]V ZR=Y/V#V79(QI/"DP:0$<U">&ZC$\V$
MW\H*%U-BCV1@^JAR2 LS.6L#"@_SAG3?',(F2=&S&#Q<\Z>=[.+O+4K<$'1:
M[H3B//Z6_-:"2KH-CFP:E$YLLT ) 2%6A.1/V0$$L59/L<57:L6,W%!CD.XU
MG:K1<":< $T1EP(6:>+UMH2<6_[-S+9XU1S>AJL0! %%0\W+C?]H+9CS!$NJ
M#]N>^[^?H3,]J]XZ]%@0S?KX1%)M0@$< \MFPWX@-($ !V!KF*99N-IY:^(2
M_56^QFW*,5SJH$2HO(/STD,C\FWAH32Q1:0M%ZP=J=]0U6L@E^7"G;[ 7I;+
M0<\<(_S?5T_2PHSX;!7M*4QR5*'U"'N5'")?*KU"<P]L:1!E@S(JLIF$NB93
M!#IJ&A@C+-LJBVGIT*J,-#/U7HL$VCC*84-$JE$S151?Q!4IX^487?8ZHW(&
M':6140F8+-JXF*C"S0/7LA1#4$C\B@6?6F26JANKFMUJ4UIK;0;%T<DY$]1&
M!SUVYGU2& #ZFZ"16C 6L90YJ$T-:T&'FZ0@-316WDIZF^4MDE%&;6Z8!!Y)
M6<?[@X]GIYYL[O+LT2YB[Z>SCCPS2#ZCN]\SF:2X7=8$A ,B.*\WMKG1&2B?
M2D3\GE1]<9*3>>(C8IH3IX%O']025M6]@M+/>Q%02<?0*!7_D./ MKLF3E6_
MP :/$95*@F7S2J>D8CTP!H^?4M?P<NI"U#L+N5 2/W)?(M4HC4&/2$;T# @
M>WRLO9"!U%34=<;-C,@2"5;NFE\O93%!"3?$>\A<Y@%,!>M&"5)$M J3=BS+
M4^Y=TD@GUT5!%@K32<W>X_VI':KUI\^KD7;T*>685ADB]OA*TX*A*U'?E)N)
M":(Y\\$2U/@<S4 R80FM3V 80"/0B4+O&0/NI^FG:L)!I4*ITH$J0T'-HLQ<
M<@NW@;W&FI=J9O(4;,X5<R@?3,76D#06EI4V/!2R>4O+ NV3U\T:G[)H)54M
M' UVJX=3F181WNO%('A( LT^K0\8(?Z7Q(91/ZI3-!@[3B&E71*D>-$74/^"
MO9XJN*L3K2IZOD&0\$ >F%=S7UGN.?_E=WLZA/*T%6L?Y]SS1%0,KP><UW6L
M7I'&F7%6K.+PA<? 7-FJK^-C [(XE.Q3L$1#=H=:_(6\=/&4*,LP58)<%67?
M-" OA\/8_Z.Y<1(Q;[BZ'LK4(8S.45[1]D&YO$#%MX,ZF5T/9;S7.ZR-P>!/
M"?.?@M=&(6.3^>?3LU59\WK:+TK63O!-\$F]PH!=U?V0#6<W&IG^_!(".2Q,
M4U"0B!,.WH,T'KFT2#+4A&S^3"-"%G##"0=9.FI0]^3@[/C0R$Q<$%ZI0PS4
MF$2*;HUW,;9&?L^BJT/)>T-$IA$>X<L>FHC(,*QV([\_*WF>U6.?) J6B^'"
M#;)V7QUSHH:=:L+G!#8EMWJD^)A,ISG[-6#]/ /V&LDO=6>@ #]PXJTLC\C-
M]YT9TOB-PEV,:3G3A9T"<"<#>4,),>2?PLS?HK"&6.15Q="E':.S'Y57-9DH
MDLLS2N5AK)B4_R(;U8=%ZPN3EBF;1=I$D@IV&?8.+**BQ,3@]YS1AO *#:[<
M=UV;\Z(,.9&#L:--_8H=U6RWI[)[N#$F?L,7$<$KF..Z '9P21@5:(=Z_D0S
MNE6->1?M(1FV2QV<=6:8?>-1A RWGV3($+\R0]G!_3 GU ,.:*)/>;8-03&$
MB]!TNI#!,@3%;*)-TGE>3KD6EHTNN [F-#D^@+B.' F6>^3C5]!EJN8C1'Y&
M:Y\.G:4,?,,"P#+H)$@<Q)H-21@:, !L>R03$$>:R8%6K*HXK\2ERGU7!NDM
M:\ V73R\BHGD%3%RP-1W;I59DILFFG[BK'N=L:-Q"R4V;N:&!>5X_>1V(4AZ
ME,LJ62&SZ_1V%Y.A0<V(N'88TR70-T[]DBC="J3=P*CSDB<Z5MF%:;?C(WT2
MGT&5GTN#11P.4C!\O3_W9P@#:61BI4Z/4* \4X& FBBVB"F;,6X"<"Y-Z?KE
M10F,'5-2F)%1Z4J:5>T/G# E0DI>Z66:?1*+7@5XNS#I(1V@8)'95OI&H?ZH
MID"1].+9@Y<)SF5,SH$,L-8K[GOJ:$-I%YZX$# +FX4R)_&/S ,4>#;Y4LRP
MIQ%6Y@0])JF*D!) UMHC'H*R)2K,2+<Z/JG]L%Z.9&DA@TA;// "%%-8*"7M
MS[M_!R59:$S.=BES MT@>!"FO3\1X24HQ?'2-'D2AF;8-XP8E1PUN= +;5^Y
M>,#%L1K#TT1(0:9D.L/=#$.CF7"$O]I+23+*+&P^EQ!Z2Y.$(UM(X59@>CP0
MG!/!DNG!)[^J==D^&FYM+-JFU^#XZY3)N[E-%<MX4?-E=1.S*_@ XG9J.AD?
MJ@QT+6R@+NVJVUL-Z8.-7Y&7#. E:$8((:7SL/T.91#FUU[0SYN38PAQ<#^-
M&>LA24V_&NGM?>8M#-\IL,1Z8JZ;2=5&#4A/YS+^B-^6?7@F%DL/3+PUO>8
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
M:M)__,PE.37*@5/4IY<[8U%_9/HITU4CF@P>^*X::4.T**.8;5#8R;BL,+V
MF[>E5$]/+AFN9-(T 6W"'?EDC:XR>CHI4H4^02JZ,5Y#+,>.HWYF70 F';9/
M4-4%\20X*;3EBTKGSUH;"[92;+F.5P-@3\0F:N8FCF8S:2JP9-$PD*YO,&ER
MM,">677.[!K>-ILR95/Z2"N9NE51#-ZB85M?MJ-!CY:\#F<<M#%%M]4K(<G9
MA>W"C?H!RS5KY5MS!%\^,(+'RU0%]2#GU!_A;2O'Y[W51K72V\VRUG"3@$%D
MWRK$;/,AO+(K&)B/\U*QT+++B6<.2Q^.%E3)QMQM]330"B\NL4$CF5>N*Q,P
M_41X]J(DG#[(YL291H['7Y48X[VOX;S,8J,7?#V\1K0HK]V6(58==7I4V-O6
M;,?"R<(<=RISM%%HX8 (S$-T;F&A' ,77/!I;MK9G/^">0A92&F2J 'V)9>P
MJ/)]@4^6Y"B3^C,SEQ]/BI1G*[K0^Y07<I5(GT8FP]">-A_0H,B0\VCJXV\L
MRA SFNU_P\3XM%"OI9V0W$TS/33UT-:.+O3BH6POM<5[@Q$L/[NJ<K8F4<SS
MAWC)8#3['MR8,=PSS.:P%8"5=W=+9!C6@P#'X"G!R\[U/>F<_?S^@'I#8\O(
MAVGM6WNI$9:NVQ*"7TBHR*M;E%"4#QBJ MC<]=$LL2%"QKW$VBLD4?ZR;KB>
MBG@$7-8))H".0P]OGLSU,9^3LJ4G+!3,C!;@#]FJ6&4]\P$W64?U%F^3S,+Z
M*BMEI99H$H,;PI+*SS9!9?Q$%6,LM(,;2H!.9"EY%2!YR:6]R)(S78E[$\R^
M(!4MF^!ZYR>GG9/S=P=[ 4*"=L^ZIP?_ZIP='!\] -99)PR;BEJ(F"(*U^F(
MJ= HQT)KE8X^E"1#ZA#V<L_+:::F99^@JG@0XQQ7U=XG6->(QV;@4<V)]]P(
M]89:D>]2)A]P)ECM[/50#FM5\M8>0]1MYTE&W? KQ ,8(VW.>RI1?^HZ0;Z*
MZEE5?>^;\W#I^=7'[.XX-V<EU [#5QRQ!GX_+I;"])*$^FL[C'+?GPL,"S7+
M+*]I1Z'X2PN*B6"/B8#HL/D^C?5, &Z7QAT^'KSKGI[]44%1O&>^(*\4@%R^
M]B8_'=THF#_')0 &X:]JCOHEB@8(&0'OT4K44GE,]OK:HH)=[^TD9K" ("]@
M0[E)#H424*EONO=5!O<F9;,O:& J[\P)2<SUV>%!O(YRB%]P 2=23M?L5,AW
ME$M0)^@K[#TZDUPNS$ITN:LY-DV7*"UF1UL@5U0K#=""*X'$F@6O-Q$F^V($
MS:+F><EQE63(4)RPK/U&%VI@RRC&Z83"0!><LX3!0JJHP'99(TR ]<*Z:&G:
M2SPI\T'LTLA.RCA'DPR11V"L@HQ=_&5(V26$72QIM4@GDH3+G0 C#^ >].$D
MI#HVT$OP'22:+0X90QWR9.(++%R#XS-S,0"RJ)%C"2Y#4A6V_2L_AB65GK7
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
M+,#*\;I@S@4(0&GL'K("L\H=2\EG[M"RO;.DHQ.#(ZS5T3 PP92OJ#%5X9;
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
M9,MG^Y;9P4^U\G:]TME(B.5+FE&F?WJ]1G(NU0-Z>O\V[6E=CS,YP;)ZJRA
MQVE.I5ROPAZL9CJ)7C\JFB7L1DVG@B,6N%^BT2"].CO]L_?Y[..&< /7NLV.
M:M.LU HQ8:GCJU4V4%_^Y.FUBQ%KU<ZHL@3 P6,6U^J\P)E;H](NG]QAL])]
M>M+(>A?6F6%]T0Q;JWER]O=RU>1R??YZZ;V-\TD6]Z:D%!Y&/U0]Y;LXR6_C
MZ&C%B/3VKE9GF:NU[1L45"M+@,]L^Z;4*L'2"3#;O!"UVB9=F^JFO';EX=--
MZ*W>I;K<I6_?U)79?RFU*C %TOR2:M/.9-N*:ZI5'JYUV@>)N&) /J@TE\]3
MV*$87?&D6B_6T'C+.0KZ?C;DD7-6Q/KY22^]B[9K42^IA-8J2^>C;^]"HMMW
M]Z*R2Y=B]Z(RJ&Y%5CZ9=(EHO1?H6V0J?A,EZ?T&HG[;(^]F8P.QL*V1?:N^
M@:C6MJY#@0KW3S;,Z4[;M;(6L7*G3!TT.U7#NP_<O5&M+&A)_)S<O5E=7L9L
MD[O7]X2[E\2%?X9X%L9ST MP^'DZR3%PH]!<CFS'@ JGS+S#>!(-O9H7HM@X
M$O@EN"-.)^73VW@4>@/K]QBBZB5I.L"05X[P'-XP'<7P%;H:OL<2Q>)@$,4(
MP) :,W(*H6X<U"H-*^9D:@H.&I6J_D)#<&01O@=^CL,?!)66?N2PW7QQA-(.
M%PJC!OH;*UI5\(OH:-^\>X0>M5::KXDGM8%CM.9O;%'X] YAKW3@C0^PK@Y0
M FH,S(_1--A2CJ7!#D^V%CQSEO$DA/2@WEBY90$&Q]3^O.7]L6(R2W'5[F:#
M82N">S\AD-6J!!N)9YA(UK/-O0.R:"-S5U%0":@\VP*ZK36:SRPD'%G%&N$D
MM>[K+!TN0'W9"DZFNJN;=O#!BE+X9A+W@6MG47_B'0(;(TRRH6 _78?].*%^
M%$\/,:QU_9=2JD"6;2++;XT;[DRONV!R&X!=7^L*.Y,+Z@LV[[!:Z3S]<->[
MHTN=[F'0=.I6GP*:7+Q*"SQ;F[]IK!KI2S9_O[RTJ$EN5:PN9ZQ4EL:>V=KU
M:2X?.-KR+5G>(;;-R^!U-W 95A0XSWI+;*M@CV5.4%FB0=^N9,Y2+N3=RIS:
MGLN<QG/+G%7O"GO<E#VVCJ=M6S=CA5C_]FY ;7G9M55*#_9$;@2U$H+^&5QM
MEN:DB%U[91A9EJSIWHSSMA%G-A[$(>8P@RS!WR4SKUSEDB3HK[_YWKL,H6I]
M[SR+$ K99]CCT#<0RH3!@6L3M.2*]R[-@ V,O+Z"D(Y^]&_#T4WD';[[[R,O
M"R>1QQ_DWFTX\$)O&(_B(0'@<O8$)F\/QR$L+>7$;@]!H/7R;(<=]0*TW4H[
M SCO%M^_2X#SYZ)"A>EB(>WWTWQRG%X?)_$=>C;# 6**L^\5G;+1<)RDL\@D
M[1,!]5-TKD[)9WB=A!-QOV;AO3=$^)98!LZE#.$^S+T1T$,&A IDGGOD)T1R
M#N,1(8.C$]@IU.<5Z+?"Q0 2FO9QCK =4Z#_R93\Q^,HR]/1*$I\NQ]  I0)
M_QU@.THJ:<CS:-@#DLVI0@ NX#760Q!&M!0VV(YB"_ &I_ED![>/PYNZB?1:
ME3Z(,R;MT_4;")H.;W22CN NXT+ILL'6C8O.=M7>H&SK0JGZX%5H)_XM?1[1
M$G-[GYV!>U/8/UC+FHCC3Z139RIS!>$R920JF&&DT+AQ47DX)!\XO.^62F)@
MYP="]%F$E(;C4$\);%"*G'0(I($'PMN$U WC?X_HA8>7_Q8.QZ\_'A'J$>*'
MHTL]2E**3GB'%_2UP,S?1",L5*&_PP$R2>2YQ!X/W].#)T=8U)).LSZ^:0*L
M]!88 A :WA6DPC@WE-"38B-<%OE;#^I^J]/P9"A@T^-HE(L?+QQBAOD_0\DR
ME_B&"6]@X]U)?!W3O<,K-[J)\4^\%K".\W.8&OR=]AGAGRJ4G$.H58.NZ?<*
M;SA-4SB7RRD<!>XB'(U^]O#T\ES]X\BCJ$E.)4O(_? ZZ;O#JU,"\32)Q][E
M+,<8A1)JE<N**A/"\_YGE*6F?"B]OL;IT\$G.+C&9%]P'^ZC),'_RK:C +WA
M/9/=A&-)\A0NRQBX"U_'PGY72B#<GTV)X$T!VH;)WY* 'Z6CXU1?$*FAPIUR
ML>GQ9^,L!CYEZL2XO@K/,@3F?(\'%2.]A3^\)+J+8?78<X4PZ3+=)#6W3T9W
M5T!NS,R&V/V'">V<:"'PZWX$YS\ BJS7/.+_,E'%W8F&,XG834=3; IS#R_&
M[A5PMJ!;P+Z??;F$2S&*X$@1I!]_0F_3D\,?8[&8UWFA.L=('YD!BPI5)[>3
M*-T2>A:+W#>HF&%4ZC:*J,<R:%D1=^$@238>)W#E\/;R;T*^ 1'L-*PZ"N&J
M,&J:2,<X';"$>_??ZBVX=X6QKHO30[$':AS5-B*78-X(*F1/*9[NB_NJE;"!
M@;,U/^M)XF:*=.0S:2(H17Q;BCPN4ZC7[JQ>K;TJ<ENS5NEL(%MEU:37XWIP
M_$CW@@U!*&YHKLLGZ=J5[6[Y>+#)C,_U"M!.Z9JOM>]..?E&E[+6N72/Z]75
M26@M0-"M[?I3DR_781 E&__^S9>G9PINAH\$E5JS5ETBK6P;D+VETVG7.T^O
M57LV;B :X2$B76P*^'CK%Q_,T7JW^?2@[J8NMW<( Y5ZJ[<@L$OVX^SKQ3.+
M[Z!2K3>K2\1?-GR[@FJSNWQ$]+DOT1H@]L]P5X*@45LZ[W9S5Z)="5:[$L\C
MNTZ^OMT7V56MM()._>F0^!NZ73"=3JWQ=*[Z[->NN]RUVP_9!;O<K0=+9* _
MD^PZQ&#A#F77Z<D2]W'3UZ[;J"U?#+VIV]5NMNO[*[LZE?K>R2[8LWJWLW0M
MWL9DEQ;G/VO$5L7*#AI^K55%5R7UG[Y-$S@OR9G'QKKHR#K@_MWT4)G#U$:[
MHC 6^O<Q1-$/\UL:X=*,G8OOW#O[QS2>S'RGIRGULN4FL=K?GL3PX  >I9$$
M+LOJ8MI/1QSN@W=CP"W"I6<I1OOTF,8U]Z#;3GF_U>:@K^\8O[]/L^\,O06?
MPSLYL$4%&!V_VVGZI3-G9^,$W9)QBD%D1 +C0'&STBHX&(VGN%8K^Q(F=^+Z
MM4V84M:KX]6T[]=)>L\#CK#):^*)(ST=Y3Z_32]O\?&H$-[ P\ I4$+5[W1:
M.NC$@1@@H5JGA#0HEHI3T>14\<YMK#B)GXY#X A(B)U:D1#=GTO\:H#H<0M)
ML<[N8#D,CGB0R_V@5@\(JP['U/'>!'>.(D('K7I7C8&'Q'AR^ G&#]RP; 2[
MPU$RZL<>_\" 2N[;41@5_*7'?\0Y.:R_9'@*2/9?DE!^?:;'.OSRA<(Q9UA]
MY-U@R%51'O%16-E]>DP>Z%$TT=1(L1NX W2+T*.MAI'ZHF80<%R"XB4#K!_"
M2!A00ED3WTW&#59R:4D/8SALH#N@[W?Q#SBU$^.=_R9[<2KKYJ]4+^95FY1O
M;N+N/-9 LUN"7_]=W56BV@GEE3GXA!+%X!,/:C6_6>_058.;%A$3.>BV_'J=
M>+WB3/PC'[[RVZVZ=.XV8R*1:5IB2=#R05;QG9C,A5IU/)UBO<)H*<7@(*@W
M_4:S(S-7(9<Y)E>8<5!M@7CJEDX96%&S&2PSYX[?JK<?F/.5F9,'EVB48_KW
MW 9S!%U5D_5F.CO!69(-6'FDN0R=2KWVPA$^]>X+NZKO.HGZ$Q7'2X *J.P-
M.PA1))%>_Z3P[-/ZI#].HJ?.">G)#Y"ZND",@VFD9"Y\TNG6G/5I8:25!N:_
MG*Q#!]EN5R7PBU^-)H2!J>/D<"('[6I#1;^QV_Q4_91CRARI1=U,!JQ5U=/\
M@$MC%<^]="'_42^;H=?CL*:Z@)V:WVVW^"W=FM]I=0N%FZW."_JVU:5HKDU#
M^&0^1F*XBY*9.G)$1SZDU"V06; +%$1%:ANDT][D>IKH%1^9O9QD*"SU5I@-
M\ Y/7EX<%6?=;ND-*5%.BIEN)O=$Y?3P%3FH^P&LW0W12^N@BN>=C2B'B;=4
MKM @G)'XADGQ5!I5F%O.07KX*:]#.G3%HWP2A3RO!O^T5%N"L2A>WJWR0Z0+
MP9&E6!2)=QKC]$*B]%T=#!QS&/C[$@8%BT<G7LD&&>9GM ^-4(O_8)6&UAB#
MCM #12U-\-;C.C,*@:,B(OEB2"L9*'/ZC/"PIR/Y"3.P(9VK>O&YN17$ZF!>
M,@C_.$40J"@'(P8V .;O*H&T[QW5#4T'T4O4XUWD%WPK:."'[EW%K,VIT;BM
M./X1KG3F7&1,(-%MW^!;O*'-MDO@(%X"D"_=XJ_KO@4H+!QMFG,I-EM)K'S#
M=L\IJ*R8VE>J:%=$/_I1!'JNDYPTHH]PQ#E%GN&'D2I J<1$PPA$5CJ,^_"6
MNQB, N1-OG<]Y3L'K[V>HIH(Y'83CN"QFRR]GS SF\"Q8=)K.".&AHDS_7Z&
MY@7ES)@=K7@?PQ'<6N9[-@2S[Q@&(X0Q=M-G+R*4K_C70Q:A267C%#+>4KD'
M^M+F=$OV(=NV5OWELFV3^#L<["U:($ (O8@.0[):2?PPA4][.6A3F*%HTQCR
M.J$S)*&(B"#LP^DR&AUQN70Z 64JF9(TM$V^&#<5Q*IC3)E;A"_@)').?KJ_
MC1.LZ)\QO:#*!K86DJ8R&WTB;V*Y220"QW[A79A,(Y7X1>8@3&"XJA[_9'],
M/QKV8#;U0*QSY."BE[- TEJM(%/DE-ZKT^'9EAS=)&PDV];J$!::ZR1//(%)
M"GHM;A@\JVU9'Q8.!J_U;_RZ+#4T"8&2PPDFW.JGC132"=A^R9R1R4YA@UD%
MR]/K":;"^59"G/7^:^ 6,1.28V9;]0&<@H>\D[#5.:.+'$1W>)I]PRB=W?*I
MHH +"&@,74- [,W:/+<687[+N3J!I#=>A@$E-GN]:9P,J/>MX.'#NGOD2*EA
MX^AJU<O_,<7?7&,:')Q(T(0K(FXP+ETPVH3.*,6C<^?CEC[(>HJO[,R]$/]
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
M2)8AXS 53>P_4T-3/B=KNJQ4)I2B"SH%,K9<GF:O$JH7_7XTGC 7(]!B>QU
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
M2CSA6NYCNU34*E11E0/(UD*/"FUAMDET/(AO8JI_Q%1/+''&FH.=% (KNK(
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
MG'N_P]SA3<W )TA!AL(B=4#*9N ,:>3<MX;3_D'$P^I%A&1IGH>E-_6\[3K
M9A&"LZ&6 UNN, _UV'JON#"ITBENI]JF6J5>W$6=PV\ /J^G&:4\*O@N R^*
M^\ +U\")34D=59"-A)<T'8':E"9WB-WI (=Q]9!4<N14#44@C>GU=1X)PK;@
M'C7GUTF/XB;VTNF$YI2'0T)UE'7:0(/S!.@68\Y52!7 #N%L&G/[J#/Z=9V5
M4P-E5ZHBA.DX":G(D'C :*HHA(A,[1U6F>8/+>9,4QJ!?,Z!TIKMQ"):>^59
M-)1D7AO)LH?86IA;:N7%PE.$Z3I,!UQ4YL+F&DAEG:@K,(!\&4QZ,JR>LLD1
M7'0T0\P^C=7F(=YK%ENE//!K*VD_QF39]'=UJT8$&ALF.FD2Z3'3@Q,)6(!R
MA_P)(BD^=H5V70JTFMKV/DOAK+YDZ36<]>'[+T<*B?PIT'=+PI([U#1?H?K^
MB\^$.\W&R10("C-_L6IF0H# A$&93XB"'$B_0G5UCJAF?;@ORKBB7&XJ_D6*
M"N^Y8 /H,Z<RC2&/K,2KKY.X<>1XE,MU@;E%.?\Q!EZ/Q0H\O((:EN1U(DZ?
M621BUREVXU/-V@$(HZ!1]PZ;W0K#GY;!IM>K?A6A_>&ACOV09K*P5Z;,!X=M
M^ITNUOETK48%5*$!I$'="PRYP^_4G#:M!RR$37"H[B/]#(GOXY%O>!8L:1!C
M?0.5I$FI<JCD"&P]W-W;"#^@$A:J]T"R00%E(6F/T]B(6ETLZG9=&"(SN8Y_
M1(,B."3P"'C'0"C-% FR5&(.IG9R4/&^T<<X.+T,EL![HH4='@Z"#7-YJC D
M9NW%VU#W+L].O7= D%Y0/?[-MT2GGI8:/4ZXI(RQ@TOE:"_JAXA4:[%$E"$P
M,=IBV!-DM5SDI5&5)XOV P4PW*I(HX.3=('UJ*+ZD(6.G@8#IQN1+Y7B;U.6
M/-Y].@7%-(F'0!#74Y1W+-K[X9AAFV/6 T'AOZ>13[EPV\(.SZ=8 D+%%'A8
M5'%EWVY8[UUD<+]=0/;1P!X5-R")!+);[3H.>YQ>'R?QG8"08^5%.$#5C?4Y
M&U\17Q_!*.DL*D@BK:VDK&TD1)$*3Y=!*8EMP'LF,[SN=R$LH)<4H4L542IY
M-,+2&'P#W70:*,PGI278_P!M 0</4=Q2T;.F<$:DB$>+CAXU,$.XO BINR4F
MI[>.!?8_IC&R,5UF@@#!"-O+J-\X293B9U]U]>-;QMJ^B&ZFB8%R5_;+%&\?
MZ%I8$H_E7512 ^I"P@ &4E?#H@(W&DNAJ.9.G:+>2URPK2L0N0U2> ?K' C!
M[M (:1=T; 830#:?RXH9^5PHH FW_R/H#V!&X@X1@#M=>@57>ST%!E9D5/,H
MV0W?&C?&Q5JWB-D^;F)& *5 *^WC[@M7>&\.YF,IJ5Z.B&"*7?57&AM!?7*D
MN2:R242!;?FU#@A',+?*"U;QF8Y?[>CN,XQ4RZ@4^*61MD:)=-1/4_7/=7\&
M$F*^OG:A,J[@=5H:LP7)P2J3!%(0:)!FI])XH:41OK.)."U&E*M"ZJ^_J8U
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
M!@;%$'YV.X6A#1"9SZF:MPB/BTR+L:-R>Y@LSK];\[&_ND&5@:;AVQWG24R
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
MCI!40Y>3% YR6<-HA5J'6W42*IK6Y[$! SMR&&VWCXDPM80U7J45$PMKV$>
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
MU]8OMQ5Q!;>W5$ITH8)N*R/'%U\;A5TXXI,(*\D2DRB^6336),IS LW'C62
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
MC'DC<Y>DU0"66.*35'V:[RPU"HSGS5@4)#T0OZ<PQ@ >[I5M/=IC&ONV0WL
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
M ZBB?-G3X)H"IPR%.P6>OG0B*#6&$I.DLGBI?)K0@[;J7@)E&.41$!E;M4U
M^-G^9WC\#.70DG4,72$.+(];M+ &S0I=+ U%FS9XAI,!T\5Z16/%FD['-F=1
M8FE%,0I'%,6?Y0LG<<8=Q76'P9T\'@"2N@SM=M!/XC"X__E* IUV2N\0]^(9
MI)/+ ^)QK2?=*W&%@8_YA8?SO$41[9.2PM>(FXI'N&*-0X:':CO\];@[.E]\
M*7Y9N?NZ]L-Q?SK<B7 PT^&(NRO#I/P5\KK&ELI@D>X$KF>T6.V#SWBR1&L<
MK[C:\W_?6YK2+%*:LLHY[BGG"-PHDF8B7C+DB;-X)BV1=[%0VCWWCKTHGDS2
M<]J'\%B.PW#NXO$UYH_//'I;I:,EXZ!@3*_0>ZW]*'2Y]-0Y3 H%S$?>P:UQ
MO1\GL#+XR8!\-,_Z&<;KN,[P9Z3B?'+MQ1IX6B6@ZRGBG^!$87X#(Z8^CPHX
M+! >$^D,"NEI'Z[O_G%,5OXLD"IZ9'M^ *O0Q9_<&6@H!EHW-!JNESW*]NG%
MD9V >0@1=!Z$^37R&[F'N^B14M0!$U6N P]&KQ2%6\#M?5>X2+C8,4.^T]$I
M I,4DR5A; LCF9PK-U!+;[$G"%30F,$KSE@,^LX0PS]3E'9;L&MO7V%,OA4Z
MI7 ?Z3DW]CPFGS?'A4BP,(/&@)2@,_AX%(>"[5X@,N_<WI0LB,S @^R8TT-A
M?H)*5' @STQ%/#;SV6@VUC"'2=[\R,7P@?\IQ:8V:(EYBUA46=2B6J(O,WL\
ME.EA>X+>ME23:9MEEKY9]/%WU1;7A+S\G<[ORAZQQ?ZL.XR?G'P#*3693?[?
M[91]>7UXG;(3N3UXCOSCI;+)6'/,";@;GX8S[Q5T>[PQ!B2WT9J_D">Y[<+Z
ME<LNVF!2UN=WH>'G_,7&GCVQX]>9Y]B8^]75NXKRTG510!\&5X9?WI!R'67X
MY![8+^ER$3YE8T:;5W.Y%*_!;;%L#[=PXYT+/7PSNG*=IRN0QL,^I6=3ZTK3
MV%-V'S=P0CO0^!:V"^C+$)R,&O#0WQA?,J:7B#2VS3U[;T@>-Z5J%(O\'N%7
M+&_HP_.&9+%S"Z=_?W:LF>VZ3B9^(XQ@4$F4J!F)Z(36T\+V:O1-X[/0U%<+
M*WMF8YYWIL(B$>0-$Y$>!F5?;/93Q$/LZ&T8HV>DKE]X59&'P1JX#KQ*P?8&
MLPGBR@SH!^C%!HP':7C$"0W61]?](>Q+C/#P<!"&/M .0+NPIOT34P$4[,&P
MM2M#*[''4X!X/H4&__68+ZJ^W'_S(#;X]K9/9X@;FJ'85+)P>"8NVC'P2Z(1
M+P;@,78Z+]PEA@BF2ED#V2SS4;2XY?*$46&Y<5@5YBBP;@C#<%0//A=HBXBJ
M:_8(@[DZ&N!A^(DL\5\#4<!&2<;XD\)%P:G!*_D1TT<QW:S45M@4:<);$Q:(
M\' 8_HU7Y5$H382?.&/^M+!(9,A2F-U_N.[PIST>@X"]=(!\3QAGW%J8[*E^
M(-K!UL+DC/R?9?QG#4"7<(5-=8'P6P>=24J98&A1_IE.&OX2II_4&C1T-MG3
M#'Z H4IKBJ80^IS_UYI,/X?1Y $HP%#^H,<&KIT##$-&@1^6@>'E H8 OO:8
MK+>ABT3)+9ZSDR%IGBH2#L&&#@#G0)]2?"3KL*3F3;9"9SM@)/CFV&IC8V-#
M30T^WH)=BT&T_);'C8O-EM<"5FJL,"1J&A81AO6F3^(FDF</@FM1PEN.,^-%
MD4(RC,"I!ZX4Q<[(C<P" 8%/UY>JN/LSS6S5^8MY]6*80E;>@V_W^>XGX-];
M#G-G/KUV-"?HN8+A6N0G%5T!7]'?'>#5'XQ2HL#);(GH"_?[R$#6DYZ.JZ!0
M^([X>L.0N\@MX#?40^,[(%[7? R<HX'-IO@K$<3@F8H)LZB^C2ZSD,Y<:"MG
M@$%\<4YAHI3GLN/OI:(-!'<)7Q\1!U/;C*(I7+/)#5V$6DEHO)A['A; 46%9
M*-!BY@&IF25!V^@R4QX6&>&$P3DL!W<8V>-/<T.(+GYQDM[!\I011']\N0U<
MPF1X \#A\OJK@N!P"QL+(1SJFT,XM PPO6N-5L-80'#08 4?82DDR[;=4O_[
M^<ZVU#@ZK=?:1G<1PHRV!$N))MLRL5S-XX6*F/)_Q)C@;V\C=*P6:7Y?8:\+
MSEW7L.&'GVS\PKY1$5+NR!PMQ(31>TOP!/&^ +>V]&QWB.F-AY]N_AMK8C?>
MXBQML:UV'MO"ZK'\-X8AHT7X4+&O3@[[^@KJ+/]MX42S);*%;ZO+#:7LMP:?
MS7]K'35J,;^U7CQ"KZ4*E;UEJU\ZHC5CH],;+SV] 96\_W_VOK6Y425)]*\0
MWIFYW1&2C@ ]N\]UA-J/,][IMKVV>^;.IPTLE2RF$6@ V=;\^IM9!0@$DGA4
M(2039[?'MA!5E9F5[\=$WC VY.'_R/][&:KG>* *\&BMBC=9.8?CE7/<F&/N
MT!V *B<WP-!(A'!<5+]A4:/FG8CIS!>/-^N$(519-KY$+3G0/XU52$-GZ%-#
MZ).[G_UTN2RV'NT&^PUM5K3*@30IE=[1P@%J_V%H&-""'C?/^LMB]!THVD);
M4S7IL:3PN:0".3\)K8BC[@Q,\:+S!IO,!P"*LF&M" NL!#M8("#]8CJ6->*,
M@82)IR<S3 -^*58'2;ED0?X)V@)LPF%D"99CAXI]7P;F];M^3K'LP>->6['0
MDWX>H;MUUG-09!(^'2BUZ(1X,8'^HLO1\&;$[?%B8SB;UG]$]7O+*TBA#S#-
MVX>27VJ"69,6&D*4=6S".-C"7GX\,KRZQV0*]_BP\*;;7;@!2C=9PPD32QRB
MGG>, DG(657>9\5J,$79JLVI:<1HOJ,HW(^"%D>2;LZ.HD1%9;8L2EK8], (
M.4]-3C3%HQ/FM\J!G&S>H:30J?CX[(/[[O@587YV!9C+X1I<"1UHS"/B,!-]
M3JA3W_-:V%XY6+B\RGHV]!<O#1TN&771^GZYC57\M[<D_Z@A3O2\8BL&WM_E
MPF.$?I&(YN<0,[;O/XVBU35\16 C)1\KK%GQFK^!!?72>8GGZPK/1+<.=0A;
MXR5N&AWC-DW%7]?=T=DA 62<J"<YFC9"]0_Z./R.$0TKS)(#7Q6K862 17>X
M1(EF#3!Z1LSKQW?2E-BP%-3G?HX-OA\!U(CFL(;@32L/V#[9VR+>')93^6K!
M!Y.6-'* ,\P!#5C(P7 %]UV;L)J;=4:FEX&-[GJ,"=#X!2L*H)767KXM=;BZ
MM#,%K$F+MN>ZZ=5QZV8X(7MIHJ,6L\UQ[R\:+=;PB"*2KXK%&-YV@P3B4 ).
MJ)J"581$Z] "\ >H;$E/=(/4VQOQS#&]@,$\NEG_;GDIO)NP]N^8EX1.:1%]
M:NQ5>-'8P6R=HI 6K(+VT6OWOB27N!#T&1-"ZQL\) )@49TA[QHBLH%J$6R0
MU;:SY3WG>K0ZP@N@^V65=/M^^3V6YH$J@PAD'"'RS2 5.%R.C5O8GCX;328\
M6 )MITZ@K1-HDS- U4WUH'NVY<G.YI.]LR0B+Y!#NYG)<.+)M]U-@/:W@;Z7
M-:F9E86%"L%"9IO/NKT@<9AM1T))VQ2?==U>2(3ZQ86LSBBJ*Z 6%005(ZTO
M@BXH,R!QRI6GA 6$[!=FQZS5&]T,2OSCNG24X'8G,&.<Y4E[SQ^8[ARH@I5M
M78*]%\E@WNH78/-6)1=?'_8(=+9FJH0WU/!34F@;+JHT38E-K5'ZPFB^*'T[
M#9U1AU6X'\0JR%L65- 7.?3&+C,?VSNUK]F$'"%8MV08ZP4BX*70,.#PP$QH
M%@I&X/UR'53.PY]&JLO798]^PA_OPL>GB_\>T<O 2GOA!+#X!/M-:*[MI0/3
MK&VOSE%[ESX]7-V/GO#'SUZYTW*^9 DVQ!L/X.ME4]W=JI%B%@+M51-ND<!
M29D.RR2BF4//_Z*M22S6VP86WE9"2;Q"87ATH:V" '&P82\Y&>6G'U#G+H+"
M>P+Z <W1+ZB.''2J&S2KRJ<3 #EHGN9&&Q^"UJ$A_0MT4@<3[6E./3R!>E$0
MT_?:P?P-(#^QYO3/H7Y+\)O7G<DS0[S^3(*/'C+-UY6!XS%PUTFXYGEIAL02
M@N$93#I*-LQ!SK[H!;A91HJY+IJ&OVJ&WXTJ?.>HE1/L9:)/*#FM/9349:F]
M-_T7Q58"S%$J]!Z,KA32UN YZO#)[NGY#E:?07.&\@NG[J%2,''O$MT\']F$
MEY=>=K1UC5=FH!G:F[-DC?=\/X!F>BD53.-@]MLXN&%>4S[:., ,TBIV5+0D
M,9)0IP._U0"K\*2'9E4NZQT!EWMF)9Y8:1&D::S+3#'YTEJ&RSOIHZS"$XLZ
MPWO8ME[2I$/?4E"I"V:/X_0[\&^FTSVP)82'%GMTL$9"V#2%FW?O;OD[I[OH
MB(\/0VJ$<CV-5=&*)7]\SCVQJ0.[F&]W$&$%!_+M^D=""T*BA^+?,Y3U8T)U
M,NBV@J73X[6^L6 &T!P^9+UB-U-MWZC01^T+TY)? (E+>IFH[Y1F&5OK&9I^
M([$@-8Z[>KIQFNWGH'W:Z)9T@[4EY'(R_"(>3%H82R?Y-?XV:  QU%3(XWTL
M=P]T&8?X_=(PH9G88YVQ6/9%/Z07WL,ZY<RU:6+=RGO82R#U&[_Y._&*[YF[
M&2'$0+-Q%-Z:L0>\3^&>Q)\#YZ$;1V*2DLO(E(4NC65$15X?A*7H8T,AW6#V
M0<XBN5U'2MWQ>#PCDZ5![J;_\"ABQ-!P2\GJ;LH&Q#[1H4TY&=<PRGI]U]*N
M=@0)KJ>]'<2W.5CZL8;,[6V/#F*/RML>'<8>1<\!*XV-,E/T\&L+AWSQ?\#G
M[$BO?4#D9GO_@=(:=N%0O^UYL*^T5![]TK.) 39Z.<3X-Z<'Q#?:4UJ#@VQ4
MS;K13DOM'F2G2GRG_F"$K7O>-W;=IZ.,X^C"6\?GFP[8410$9^?_R"2"(NY6
MRB!3XV//V7*1OL<U;#\$$BWL#/,4M4<_9<68._77G:PS-*S[&YX^?9))_MG<
M/2RF;'3;VR<B%P1]GLN<;U[ZCI+6;HJQA(50L]WL*(": :*FIPQCJ-D_\C(+
M@O(PL>/#T/94GP(8HH/M>VK<.MPS&C*M2.?(BB^IF? *JCAK'+RIB&<4?8RC
M?HW*JC3#33/P7!F'O6P=192=5"Z9IAVCE]'D7TO6ER\[QPV3"HUW-?]#;"M"
M)7T 0C.!0K(H0[P!79W[FQTI(GAM'[3W^)C7;'PVPDYKA(EEO=@_.%XHDY?M
M5ETU;L3=/7Q5XSTCJC>H606;9&(MT8#EP.;%JM;;R+4,Y;JOEJ)<EXN\ZG"B
M],@5(C(Z&96_0NIYC>-].!8B9;H4QYWX!=XI:8*1CFGRXO(X,&,C$).[8K9C
MGD=UZ[-;W9?46YEFVTG.8ZRAOL?8I<G<X6"M80;WR)P\ZG/=T&R:/I,CPMV1
M^X=JR+<^#<T%#)HT>R<JFIG%7DAS4H)<MR9+9:91C? 4D'"'%YKXOTZ?6B>[
MP_LD:SQ>KI-:_#H"EOK@%15BE8'NSF8XXLL)[^'NYZ.?=T_3+%S)(-@B>=C^
M,QVQYHW88J%G]DU:KAC)VWN;632<@>\D[V2^H.UV_+_J9B23Q?&F.*;?9XZ0
MZT9I_U,(KD">H>K^S&D8&W<N7&G34>3#D&WH/'3"%3N\Y)V^4#/44?(TIRV!
MKZFW<B3GB5*&MT.6=..E=$TP$&('HZ%HC_ QC9Q$>QO@ WZ'BG"K4]J<25IW
MX6:%,4'?&19JC$ FL41ER[PJ&I[S9U#0^^>P,5]D71L0.%J08.$F^&/VD)S=
M8&C@2#)QNB'Z9\+[P3X@Z*LQ=[S"WP(N[^<.LNY _O"Z2PI$KYIR!D*69ET"
M\7A075@ZRS>D54LL9S%2=NPNO6ECWA6DJ8D^(OUN$^NC,'TA^2@L.NS5)U$<
M:&%,PXK:+X)9J-YVM^_37S^I0MK?RS_]IB7AG6S2!" (4PZG2Y/>?DRM\1MH
MT/D.&SW5@0V2UDM+NOKYP"88_KP,/F(M5;Q&:S__MB;R52,(YGHI;2S9L[F>
M%NIEJ=%:%IIJ1B=\K"F^Z#3;"A>F=.O"E+HP98OV&:M,D;>6ILBQVA29>W'*
M<=:8[(!9YJ(2+^\]-%]1TH'B8D+<8]JQ]"';&^\8"/!/0=82TUG#"FX@>Z@"
M"YS]\Y;L'J$52#O38K"I.[UPFO&-B8''&2'N>CQ:_G'@_;#FV,ENPV>G1R5*
MCY?$U72#CDEC1:F2=T2)GM$GS*CRF 0MQW9#"43 NB9(.),PP HE#LF#"*C4
MHN,?=F8<Y<XODN,)1L.MS\8RC)1VIK0A_R&/^?9;;&.[ X_]5CM'+#A;A$3I
M"U^AK;2$'T/.G%&2O (@#2\/]4OM6JV='((0G&L4EOD90\2RR@4)?O!F.SVG
M@Z#2[;6Z:?+D>"%V^PJP$^4P>6-94_%DF4\J7L88JM(:'D4"8&5(?%\ TZ?]
MC#L=A<<*LFKBT%BV+X6#&R*OVIZE<]U!;JOGN5?<%L]SO?B=O*PK4XJ6$]Q+
M9:?H489Y#ITPT[!LY82S#.,S&X4:VW\2,ONDT]T?I_31LIX(^H=M.0YSI;O"
MR^<& ,5.0U'C::$^ K,G+8EE1T6X#@]ZZ0BDEP%O>N%>P#B0,8;=&<33VPK0
MRR&9^#Y=ISSNOF\GN=D^+89?5\?[RM<'U+>$\/=/VQN^>\"_\6 _,B=W"/FL
M7)U"IYGKNBI@B<2NZF>N.45'J'V6R+<SD %_9JV>G7>WIPORI(%:#T^[X'><
MQ:1AX2UU?=.&0=;RV:4-'P,/>,44\\HGH.]DQ>&VOA3JUY9]Z<$\KD^5IGIC
MYXJ$9,",W+ELG;OZI# 030K\&34=@AIO8I*/%#Z&.IUK]<,MG2^(]&2YVEHL
M)#M.3T"/KU8^^E'YC7QE<LVTG%OBEB;#<.YQHSV,3^,1H60>WM X1D*MB,,J
M$Z'RE["T,X$ZC(_(J:VA.O>B9"MJ"_<0?,K2+83#'//$@^@W)@[1MK#0H8Z8
M'[,J44?,J^ZIPW& SHP$HS^JYY;[@':/S_]6/G9P3CQJDG=3KXFK^)&Q@P$=
M&2OS<:W707/A-D@.HN%O@0R1:'J#^&2Z.G)>R<CY/RS[5Q,(&+@_#N3Z@,K6
M(=D[0O_&O&>P%\[1AVV\G)V$J=*GZ<<Z-"5DX=D[*8$[FQ[BS,V=779J1]$A
ME/$'[4WRAS-63Q&O?E T"^\%6/_P02V>]2IGY]U&AZ]>5$?#<[':78CGSVG5
ML_->0^44.ZH 0ZUCWP)BW_K:WWD"&O@QQ@^KXO !<UV\,.J<G0\: SF>,WN:
M=L QTF-5?$D)],A?1G;/SH>-[J <>CPI:Z0.6]=AZSIL796P-3K<WW3#J&/6
MQZPNU#'KJKO)_(Y*&NU$^-^:N<0.8'+E9,I)&C*RVN@-E6-P6YVDW@[@5[N=
MVGE4R6CJ53 HR&^UZK?L^X :P2&*WWP-+*E3->ME^X>FF]^MS1C;I=*1%546
M5J(\[.$ Y[I(N0J!@/PTHJ:@D>RD@4G[*I]6$[6*R4O%?%P^NW;04M4;7X\-
MN(&W8U]NW<;^I973.*L?J4OA#/<OZ$T YYP,.\6DN>$@:=+<,6BWU4=U!EZ\
M&]4I^&X:5 \YH_IC:-(?* SK4Z/G6 @U<CT!]?T8HV 'CLKZ]" Z(CM$Z()A
MWQV44[EY>#/A&(GQP"'9;<3(.QP[;,N^DZ^V2>IX[*$M&>00Q>]_U97X@YSR
MQ*.QM!&#=#,!HT*?ZG0(Q(WI:N:+CC^R$6QUI/:8M8@Z4EMU-]J]YI(JMOK[
M@,8,5H6ZY+O^2B8>5FA/9?&V#79G;2@R'].FCB$+-S12$@I_NT.EA-+FVJ7]
M8_CH#A/MOK7,)@YM)2Z1M!>;A&<H?BB-ZK#<'-#@86$4(*$DUMXY.Y<5/C5M
MIZ=M'I9UIZ8*_GP<^[PJ_=IY5"E-_,G6)@1^_>5(?]'FBZ\X-'1"*/V<NGHN
MF@&O05L2V^UAO8S2/LYBXD/C-AL;W8-;_LRSC[A5>URMI5H)%J<$7RP=UYK3
M9M4L><R9Z8M:"2Z;!_MH> ACH21V/,!RVF'WHY33'IHPLC'P](3!GY</D9?+
M[3JWLUJJ\*7NN+;^O*2$D\5Q46O!FQ>-QMA"MVT=8&/QM7(XL R'5^1&NUW[
MF 4QU%QXYLY095D$GFOM6)QV_(! :%K3YD_'"[G7FG$I?'E!;%!WS)?O1',(
MQ<+=%'! 42">'ROEE;34^G :]IV%'/BS;17(H5-G$U9+"WX@+TLPB2Q[)6F+
MA6W! KYKV&L%+XV)C:E38V8X54X_KGX%S Y.C2-30PK5&ALC'QDC<W+/$'$1
MP4-).C7&]N3&D-.]K:NC,K!MSK3!GZ'3"%]#[M9Z>%U.M;V<*DT"[@F8 YQ;
M:AW6CWX@!TX/9W@W^OV/XD.O.,UD<[$?R!G4!YKI-)1AKS8L*F58C,;CY1P5
M%C*1M+D%ZLE_J')2VP]"6M[LN(@A3(Q"B!#/S@=P-=N-83N>!%;/?2]A[GMQ
MDN#/K8=GYYUA0TTP&>KY[Q_<6DAC)S3@FZ<0.ZAD97MU*I,VV54)[?"'"D:/
M&X/>1\ECKWLO\#1V2FB0/U1D$)Z-8:>V=.J&#$>3C51U%9^3ZZ6B:NN!>BZ
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
M,@#,'--E1)@>12L;2S,\CK60J0RA K;_,,V8DQ1FR;&#N0S9T@>SA8O)<NS
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
M_UC ]\>4]6EXV8AG8S$.2?<[!B3!^H$86:T9Z187T,':H WJ-FAU&[2=CD0
M']R[)^V]F-MP6(;;L!]U&[*M2[!W6*((L][E++P$!F:CJ\35WD&[<0AP@4^^
M7P'8QV??4>&SKJEE&-8;U5W)?&'9R)<G.NCF-C)RY\M^W^ZCYUZ[F_J+PQ%'
M=.F1.?F^7OL)==@<V!K@W,2,V**[%M$!KJNVY*R3++-F!RHM/BLD=8"+K];I
M9,_0X-O_+7?K-P\9^WJ_\8+GSJ[PP_)AB*QW9].O"FTTH;_?GHT>8I<*_[9D
M^1C&C?D*9[" &;_9NDN:$^O-4Z)#S%F:+*F1_//VYF)TSZ%)O;AKLK]]<R&R
MS)Z#$)-5 <2%-U_N8I?R!)_N!X E=Y]^#VA0%CA2N=P69ND!R3W0T*-I,?PJ
M-_*QO1$JHS20B$8^9BBYTZ7AV[L9QO]67>!GKNV)D0;:0-[?O&"4%R] K=MS
MO#D!/*\M^]*#YL@#IG ^UU. SQ7NE71Z@.;/!+'P*G]G3-ZLKAI0YL\A.P#E
M$@;:YN2<U/LWD4*V/E47/;=W"M;Y0;1#@=3)4!#R>(AGL=VS\^YQ:)*'A#M_
MCHL=8(Y ZSPDT/DSX'XZH O54,-%9I3!:J'JLJKII]4HU</,J1"1A4@F#,R-
M0CWQK'- "U,3R@"RS((\+2#SYY.T$TXOH2- !B"?$H2Y,\4^+2]2AO&V=CRK
M2O/R2B\8I;/0EXNA+UX#-0^LC5:KWFI/D70RV0IGL7WT*276)*:X_1\5"]QY
M<%^A@JXC!@NGB +^3%I%)MU.&+<89])!M2&WPJS,66!83F&9M 8#$[D"YATD
ME]+4+\?+'<B6(W 1O/MN&B1S>&;&-V*2J>[FSA,89"]S%)DG(+J)$/<T 75W
MFD#I 5F6<T1B.4=%\@64.EW@--,%LBNH%<X8R,XZ+I8@U\P34*S+C+=Z0-LB
MAZ*2YU+IR(HJ<U<-,*K04'KBFKQ7'*JJ$*AVL6^-R*D/!?F-6*@**$3L]Q"B
MO30C'C()XYPNA=K3NL]%M4DH>;@9/7(S%[E@S_9.W%E_]+[5?6!-P\X*@'60
M/ 0S"UB!;QT;6/?SLP(@'0)CZ\2;,W-VGV9G=7RZM!]<GZN6?VBWC#VD(CA@
M?<(4P8K@":)#B 8YD%$O[W3%-0^/<.*308< U7.@T+&+@Q0-]"OA0KV).TR]
MI/T):R+ *M,=ZF==8M7>,ROO7/DM!!Q7<Y<T^W]*)E@J*MFT<ASKX0F^U_/)
MYO3!7DV]G@$!1A_@]0\$\#C6#1;'S.N$'78R%VN% 9W+%>L_[Y47]EL*[9MU
M>G5<>QRTAZCCRNZC+8"MVG-;>V[+\-QF(U$AN1/7'N-/BKZY&T("A</Q&PH'
M466B0F^+AC-R/6P\^B"/",YRS ,:0NX7F-W]L9 @QBB@+>_4!&_!T;J5!2)!
MA"G0103TE Q9P.4IA[3C1B37K6I>ZA*SRK?0%841MH6P /?!,YLI.*)X: ^K
M)?)ST.,$I1A.V >;/$TUE%#=KUQ0BN!G=/RJ,&XF1C.U;%C<C# ZZ1.8[=0&
M1%VT>%[AJ2BCJ9(2MQ"E!^>(@+WTFC^X^F97/=$!O0%F\@O+XST\"\@*;2%<
M=0AD/$PSF*("VF5IL!; =H<L,3U-<7KY:N3#7[3YXNLE-?G'-IGHWIB!:!O]
MA6V!/@YPF; 9UR>M:N9CH/"'"P8_K%_4[/&L%"USB/GV\2A>QLR'HX"?&":(
MW0R*9C@< ?A$\+7./M!52(\$^#3).YG#0TR5K+7&;%3G@KQTO(3 1S(&N<"Z
M++Y?4:B6P^S0(9-O[.[Q0U0,^^N!^-A3SGDTZE\F@.YEB"GZ@@_[9^?-*FIU
M%W2$$;; ?D@5K3EB;6U[MM^(-M['IL1/5D(IWBH'RTI#$X-4-'&\8$K!A]*
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
M,OXR6=J8!A&E#)SSW!IL!@58OD3)NFM%(*>FA-P0(=<K!CE.C*PBD%/206Z
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
M8%<R"$H5))"%+V+&:Q&# T8!V+&V@K\_G_N,[_??GK=,ON4JU'UHW@/7A5.
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
MC>XZ*#[47+9M4(GQ82;%@Z>\3VEMXI12>M&V+;MHVY_1!Y)Y@\HI"D?FQ -
MWB*33J>7N0MG@BO(]HIAD/W,*$K16D018S(Q!%J/1:LXX6]^J5N '=KI:>SY
MB;;A\TM!,/.HBDEPVR9X CK]A&F R:F[/2[>4.'S &65SZ"]S(4_O?YA )1U
M$N'A *2VAH< T(X)B$7N3%8A_'Q^&[ :VLI)/_\4SIS]C*FS:9&8YS;N1AD?
M0LFZ1IY+4\ESY*#MA#7RT>4^1WT^@KT-M"@>T31>XF.G?P;LE*GN?K<<1W2-
MMBKCI!*U,>@G-2(O&+$HRJ$C@4<>R.,EVG(BCW?5NHI#G^5>HZ?&'2XGB#Q.
M8C<G\GC7\*MRER*OTT\:]71("9]-8M02O&+G.#T)#BKGY=J6#;4/S<_=Q%*M
M -;*;7&Q=%[IDQ_R9A2Z /_8]-\Q=UV#.7$RF*ZE:*\;B0JWU-=X-Z4N-.=N
M[6&D[K3T"B[[?BY)BVEAC6[BE,YR? W9E:$2%=9"^-JNTQ; %]9X-WI*TB2L
MBN.K#!VU$+ZVJ[$%\#6@^%*3IB164J&@#GQ,&R'3*1F[L7@$/T<![P%L?(C%
M"V#$*&;=P# [6PX3RU1_)Y/F?XAM1>ED>';>_ B6:O^44"^"PRO8A_(C4 *5
M!Z=""2)DAX(](BOF /$#W$S+SJQ><YU5QDL[V(;M,O1O()RCUK^/&J%"V+>:
M0N&K)D(C#/DH$2J$"W<H0CL"7-%B-'A^(IJ32^2 #K)C")F=+'CX&/Q5<#)>
MQ=*_*NI?3$S+VZG'1)/;?SH3_ZMY<MR5+O#*UG"GTEI-V5>&,S$5<E1QR.EA
M 4+BO.J*(Z<,SV$JY"CBD-.GR#D:)2.)(WK)LA72/+*AW-,R2V27@]SL\NB4
M@4,PV"T(%<ABA_06Y[']C@ZAAV#*6Q JCBVK;8K0%.VR#S.=/2C,("_HE7P@
M=&:9^9*GAGJCZ40G5);1Q<Z8X@N2^M'Y;MZAI)MU/P^N9=1!)Q%_?BGKE$S8
MH%Z3A#HG.VPKNT:JCF<Z"3=;1G*BD[[FVB_LLH8/*NVO%W>7/^B/\M?/6!.$
MP^'85\D[&;/0FS6=ZF-B-Z2WF279Y%4G;XXT#>KFPOU-UL6\6!:*.%Q7VK&!
MY>$MP]I8[N)$GX-;[CC8/@4GY3(0-4('\?^"]3"ALBO7HD7"3GAG\!VZ-9R
M0T?A&4!Y6%$#N[26]C@R*<TAH6_.B0M4[<V>=UB!E.MO&99"($J_R"H!P(XW
M\IW5^GA+>G/[GI>3%X(UL.X;(68PXYW.D&_XH^1AHW#&7P3?2L<$$<W&%V+]
MSWIL/0/ "S%A?8.=;C+732S+U5C U"MTSC5;J)VESPU%N8,U]&2,"$PF#5H:
M[ T]\NOB-HD62\J,!$+/-1]UQX2B> '9)L<*7?)O*^_#W+RK&^)=/>RBQ@<;
M>>NW.LJ@U4[?%A[5 B&E.[ M9)__]PS@PW6Q;,S^]V=:JYM0JLOR%XM5\OS&
M'Y:9C\=JVI+.4@::#WYV]0.?7>%!P_MT\*S*V .(,>".6^*U&<R0;B]'BO*O
MYXG__,)B#3>^:,\ /=#E8R;!U^VO]+80M#C:;C=XY[VVK;D_.?8?( TOE@[@
MCMBTK0B-YU,%!LN5W^,=0Q[=1R $S=:MYB,5DT'/*1!/O"L>5.POW6X,$P+!
MD:ZWOP$P"T<,#I1D_'&(1RV9>)2S\VZ[H2C;6L76Q'-$Q*.43#PJ$(_24 9R
M'N+))M<RXH_V#N8DWSFK"Q_]=8?59QXQ_T.S)U&#_M1Y#'9(\T^.HY3!B,9C
M'UISZ= JZ4Y[V]R#6OA4A##*UDJPB+</A+%MXD%-&!4AC+(UCAZM[AZJ\2*F
M0VL<=^Z,V%FERIH4>&>SETXL]/P5DBVTVDU-2(O(SD&$5I9_".27+3\&9^=*
MHS_@H5?4R"^*_+)EQ!!OOKQUF!9'$<%;M?B#AE-9MQ0N"@;7E/R#>$4H2!A$
M#BQ1L+.JT@'".G$_ZTG33,F"J",#+VHWVENGY]0T4WV:*5E^=;"N3VG("<F=
MA[9QPO))^D'_G$73J3 9H!X3(@%VM@("A]-<F YZV(>MN!ODSQ517H\=I1GD
M 2^4=BA*XP*A1BD?E&9@U[Q0VCT[[\FM.+_>AM+#6AG'IF?4ZU5L/:$Z!G4A
M2'0"$*H8++?V1/C7.N?>,#"2;TZ"$UZQ%.!#V[CH7V\,V[D"^K6@*H#HL@W3
M/B*Z-XBW.*X1+1;195N3 T1TMQTO+*N\-_3!+Z=@PN!R75!QZL'7=4H8@P!.
MQUF?OB*B8GAV/I!/W!=Z:C12LI3I DBZO3J)XZAHI&0!U<7T]6$N/B(V@Q00
M\\+*X:Y)MER."E,$>E#6)ZN&),'ITDI#SI?34^NBV7!;M@10J9W!10;4N-V#
MV[(Y=^?LO-?/A=G#&A8C-LI88VT!/H8*$#[SW71S/OFA)4 7)4!;K37%XR*3
MLH5)#\P)$"8\O),UF91')F7+I3[(I8::+_NSA!SQ/[Q&(,RM-8JT ODPB:,^
M)5&0>-Y3#S!@I4:!4A$SA<WCZ-5)Q4= &V5+)IISW!L>13CEH]-&R>*HUV:5
M*$=H* 5@D6YVC/K]<+FB 5@85!(G"I=,8S*MI.T.3[R-PX>@G9)E5T^A-97]
M?JX0<4T[E:*=LF4;NG>'C?ZP!.%64':=7K[Z!CE4)6>]AU-/U%:\\6V=X,P/
MK>7GK?>Z%*UQ!:-&*S^TEI^[WL,IOOU6//9:YZ[7ZYW@>B7X=_?9RA7KQ_6A
M7G=8[G6#S6&)XS="_RC1(GHM_+-C#IK^JD^(.6$7Y="N$]8HIG?BUN_)D4G9
M7A(:_6FK=:NZXR*3LATBP[/SG D*)6@FWOR-3]Z\B<\G&#7ZE()X-DPQ+TQT
M2SAWF*' ;.:AHCY 1^[&;;+/=1Q1"#=)31 E"YV^?':N].N$@VH20\FBI8]I
M\NT2&E_RMWJHU'DF<%(2S(#2WCFU73[^N,XZG.,W?]?-)1"11TV6Z7RCL&//
M/2'DKMY=6X-SZT!]JQN7S)U;RT3RM"V:$N'K1P<VKOHJC2T.VO%HP$FIS34-
M9J#!LH5H!_EFHSW@45]4T^!IT&#9LKM+:;"7H-,?VC*\MZU7-FT2!_=ED\XG
MIOX%=.7I?-^(20[?=[3?P^*8H<*CA61M!G"D@[+E&'54=[H\4OQJ.N!(!V7+
MDL'9>:<AEU'>PEO; 2.ZSB0.4QCK8UB!!.+^D"80#_IU O'1DDS)\FC0IK9]
M3^51]%*3S$%(IF31-9 IR73Z!=J]_$;'9^,/D6GAY['?9X&08PC\TO[J2;NV
M![NVCQ89@"BU\3^< 5UP]"\J:+CG]?H+[84TGVVB_6IJ4WCFBV:\:2OGZ^:^
M5"2V&$$.V_B?O^0 =QK9)9BYI!F<+$1H=!<%#_/3U6;2#S+1 =?8^'NR'+M.
M X5XUEGUR>^_M5QXUK4DL/;IM=)P*OUU,)7^T84_8+,BA\MR_Z0SZ>/3PY-F
MTF]B,2,5 35ZH^6IZX)>@S&VS-CR2;<0B]MX9]:>JP1,_AE!YK!&PC1 @A,@
M@?H(+!I+7G^LF^S^XUEL\J*A-^:%ON_"FB\T<_67_QHH<O^K(UE!3KY#7O"%
M+2[;#T,BP@0V^"!\=S0>P]W"+0 QF_#CF!UL9$XN9IKY0IP;,_R,#D=<&,1Y
M EKZ9ECC7S$][4PBP @7L(QK+\F:W0V'F N0439DFAJ.=T>2!Q(%K^SQS@>"
MM"ZMSR!%#QJ9+YX36/>PC_&*_9L',!C)RAI"DFZM5W9=\9(V*'FMV43HN/[0
M.D?Z9N&<ST\('J7]]7KT^(W^*'_]+.F.LP023_S:SP72?_"]T>//X&NX=+/=
M;TB_ZW!G* 5+#V2!O1#@%9^>K 6 41FT/W^1;N8+&W=,;PWP-_88BB[)_^:E
M[HP-RUG:Z&K3SQMP>?Z]U&U\U6+Y#,"5X"G0#QB#G+"G2>2Z:<_6TD58Z#9\
M.UC!NUV.=_%H*H(^!1X.JWJY'P[E<^PJ>X]+.OI/)7PM,"5DF/J</J69<"\-
MZ5ES=*<E,3J[W]CAF^[.) U60ATB82^29A/O@ !X.(^V6!@KBL9)  ?_ 08U
MW90 ^&N@:[ *,0S\7PW^A[SK3IB7A-[##F<3H,BQ;N@^:]I\]P7B*N5YG];L
M3-(FU@(Y9&AWTF1I^UQO!4(& ),H8_S7(<=E][<?T,--"+&P/WR5!@1*U\1W
MF[ZL3,^JITN;8GA"7$TWLHOL*&_->F6#TX>N+-S"X/8%X!LV_"(MZM3W;U*_
MDW23UD^&;U!#>IOIXYF/96?S"C4\/(=QV\#7X<OU280*<7[C M17N#'2&.#Y
M8ME(XAY.;.0.4=J*T&;T16&'NK30@'_#Y]K+"PI*1-WS2OH7D(X#&A:^R:>/
M$&P 7!*93LD82]H95G54O2F=.=(S 8";2!]4MUP#7>[Z:@V]F_"PX9$N$AA(
MXKGNP@Z2"!Q6'"]M&V '7R%@-RV9U,;CZ_#(F,ZX9.^"/X]^/OJ;+9O$PE*A
MLY7$.LVV&I!8H%(VUZP;#VZ3&3!&A#%[L.EY_9#*?(0AY$)$)WUZ7#Z[C.LK
M[28EUXVG 4Z;ZTK>BYVT'%^;3*B9N*%K,>8?4*K'V!,H-L(X$GE%.AX8@F9!
MHNPUZ"(LXL06!8+4K<G^K_9+H.?U.4,*ZBY;4XBZ"K3E 'U@I]97Q%(>56N0
MW3^10P<=1G70]<8EMO.(TIEI-V$L>HB#:ZT#R<9$ZW8IZ*SW0UZ9&)F!B?TR
M8^H'\O.M-^.-8,X2Y29;* MNEZ2]:8S=X]_BRS'1]&8MC8DOH*@$ :V,,0D[
M+#6\6YNTG> F1J]&  +_7#]HWW2%W9AN(VR,27-M$F$IH*LMX6D-=4(X05=M
MJ)VVY,PTF_T!@>VX0';^QL"*,^$MV.:>@O=/:D/N@0C77"I@7\'&>R$@5_4Q
M!<F?NL-61\8+REZZY4IE(@LI?(<.YNCI5LG1<R@H1%"A4=:CR2KN2LO*>9[/
M;YZN?D@;W.3BKZ/;/ZX>I9M;:71[*5W>/([^>+BZ^G%U^_0H_>/FZ:_2Z.+B
M[N?MTPC_<'?K_WIS^P?]PO7-[>CVXF;T';]Z\?WN\>?#U>^_/6?E1M3_B^Y@
M[U<_LDG=KR&?KO>Q0:;NER']D'HS;RV3M')K.DDP[A2"\6@#R'>W3P]WWQ\I
MQ.X?[BZN+@%,CYSA=.6)7J87K14I]/YAQ@ZSV^YM:TPFJ%_ET2:WX<(/<5)L
M_'SZ<0E,TH3[RBQ?!]B@LP";"KL84JY&'+1?=6=&51'8UEP#507^G_X^ 2Z.
M<H-J+\A%O9PC"?31L&_,]E5,:B),"'R"\HLQTD<"6@E3]Z[>Q]3])(V8+B(/
MU8[TL(2]R*K6E+N?R&>?]^/> X\:\W%08() <2T;#9W R^:+ V3AHR5P?!0"
M5$TB#=_P<>B6'>04J"+BHPG;QZ?'Q''RD7">NQ/!UR6SKIF23Y&W5@80DH$J
M:L(>$1Q4L!/T>S _AY]!Y@NTD+@=AVEOL:8]Z1N(Q FJQNY,<P.U$:V]" HN
M9CJ9 @(!F509OIN"-@Y$P$B9.A !DFM?E?\Y&I#&<D)/H+F4/A"/<:]TNOTR
M324 !']$K:]+<'1F0"&(;OQ[X-UDZ0[OP?K0@:DE[$K?+VUGB0XN(.)'PL)@
MG7;')X9'S7[6@#J:=^\&6?G73&FWE:AV!'H0VNP4,10G"\UVV4N 25R#\27)
M[>;?X"/O<N!G\P T_P?0XH FY5"VXJT=HTZ=>J"BG,/91@#^O?\17L1;6ULL
MJ+V%!A J76HGOE4)5 QX'74::<Q8.HN\*P<6SRCQZ114E@U_I#=Q!A0(K.UY
M!=N;PL_FF+0D[G3H^>F1B1Z>ZI[PS$ TKUC? &JQ:4GC]?XB?"*UJ&#\!HQ\
M4(PU XU<2C](CR"7Z#4'%=,!Y?T9/C3T7P0=J5;\&Q'*SK&/D$]S:J$G40*A
M9Z/EX1%VR.;?YO!DAKY+P42W;JXW"G_0?N&=(#GERC;5J%M(-?H658WNGOYZ
M]0#:Y_7=PX_1T\W=;0ZEJ)";*Q4A,EVA_=QMRM*3K=$0W+VAF04@&Q&ZB9X*
M,IY\P85Q77EDVR/F&+\VM)<$'T4X2V"JOY-)<ZH9#HEF""A!,D-\*="A.:^F
M[E@MO-23/3?=0BMUTI^K^&) _[ 0V>NVVO,[7O,("YOX2B8R(A)H/!;3:)P@
M,!(B1G;_<3>9W^:B2\^DDD4+OU)R/?I> 'WC=_UEX<?(=V#59M+W--M&%DU%
M]*>H6HXE!* V##Z-/^-^'\C+TF"*XV/S;Z""<V)0O4(,ZB+*H-9FK?1P]<?H
MX1(M7^!65S=_W$K__?/AYO'RY@(9UZ/T]-?1$YAW5W\'XQE8VN/]%?O@0/:P
M%,WZ.:@SIU<[<[(Z?X$@[T</0$@W-XR \GIYDZY(O\@5D=N;5^0!*/WNX;$A
M7?V_JXN?3S=_OY+NKJ]O+JX>F,_CXN[A_NYA]'0E_7'W]ZL'=!F5Y27:5"@C
M09ZI;<T]:Q:8E$XY)!A][ZNU5]C7QFSR0EM?F\PMBW]"[Z\?RID3.I:41C?1
MG3NSC FRV9AYX#1X*^U?P\=5>YO B*=!KI=Z7,V?+2/R@J8\P#? '@>JERNX
M#;3-#B9L^K#U,CKN'^[N[QY'WZ7;NY8DMZ2K[XP+ D%( :%\\<<T-+SL#RK'
MO#<$SA;ZQUL+1 XA3O!D3HVK6E!ZA&OR<//T3^GN'[=P2?YZ<X_P^3&Z'?U!
M?:_LUEP]/(UN;J5[> +$R :L3@ *,6X!C.+'_=7M([4$OK"HBT\.U-0BIL.\
M1 6IX>P\E7E=-G^BSC=?X=+@Q!.JV%VY,WW,HFWHW(AK<PW/JQ*D!N[PFEE+
MUV$I&8%/$\Y]!S^R2'];C8;BPEL ?=.P8 T:(X[ZZ;SG+BP3LUC]A)$Q=7]Z
M&45D#I"#?PQK13"\O]XS?K[6<Y,V^9G^&3Y')S'5/3??UT"/"1"PR]R*D=V]
MD6<)*)M@%"V;%'Y[>VLM76TV)Y/6V)I[4CCL+:8FOSFA*0"X/"ZNT]CF,UO2
M7$EOFD[A  !"C1KDRB3(N,%GHU#.Z=;9)NL'A62]+#5#4CU\/S^L #]I^;V;
M)_M\]R3$3_A@-'SY\_$1?T39"Y+X^S\?;R)"]R0._>T.;-B(,D;/R_QP[$.
MRX^;IZ<KM'A!;7\"=2TL>RDGOF.^[B#BQ;S%F#_#&/B-B?S;ENXUV]4Q2!.1
MVGY:%76GDO>PZ/*V^1"X_WTO:[!\L&8Q6A2C FQCPL-"3%@!)IRL,OHZXK>K
MVRNXKAB(9Y]3K&XHE ]7W\$&NY0>G^XN_O;7N^^7@/(?(\#T0UD^BNHQ\].V
MQO+8&:?&\2(>/.:4N_U# GY')=OH]I^>FO@H7?W/3X151"[<?Q^M02*4U?#A
M-$J[$*=1@=/X]$#9!3HP@6P>(PSDZ0& ,F+>S8:7.,2DB71S>WD%T+N\\EP\
MI=M0-5<1KSAE(I!34AGS:4^!"^,&*&6!L5RX[V5H+Z=_]X)T7ALL[X5F:R^V
MMIC%KV0C6;'<R-OR^7P:V/*TT16Y$-/N1/WQ]P\WMQ<W]Z *AI(UKZ^N&*T^
M7CW\'>RZCZKQ27$_M:2TI =@9* _CWQ7-:H'H_O[NYO;)ZHGP9_6DNT)0X$W
MCZ W ZN[__GM^\U%!-0W#S^^2-?HXWK6#8/5(?U56YDZ\<82>UDC(2\FJX:,
M4J/$BD"I/35:8$9ALL.<?BV9N]#"P+1I1)6(%/;K2&'N2.'?N0<*%:408^I&
M&=/5__OKS;>;)U 9UVGCCT^@,- K]GCQUZO+G]]S<:;4F3R?M,\A[_;4,@SK
MC69C6>,E<\GBC9GJ>&LW\Q/]E$1;D'!(RUYWZ3Q;WAP&A-S:K?@H2ECQ2>H6
MD5_VI5OS$Q;P/M$"9Q92</VR8II!,L#BO%?2^EQE*"N9H/RX7"P,"EP$]'A&
M)DNC@(J1&[7!VNP>6*SJ3WHF8VWIT$*NE2=2L,)<'S,<V9Z$]NK/PQ(>K@TM
M@W_3:7&]EY.=5("=1&A^>J-?9(E7S;4J?;O43'B_>I_IS_K&C6*E_6-B&,#)
MQP";_WO6V>@"V.FT6RI[3ZS=G-INR=W-AG/LM!MOZ8',^KK :C7SA>VNV^IW
M0W^C79*\/V8K=2PNU3S02/\5$6B;[:82SZ7T96$'^__M76USFDH4_BM,/K6=
M!%E A7::.\9HF]:T&9/,W/OISBJ;RE0E ]AJ?_W=LPN(;P10(W!WIM.DJ4HX
M^YQG#WO.>4[6VWBP?4YCU\$.D_UV#(,M:$%NJ.<,F6MOWL<.^4/5D)M)^H<G
MP:(FH[2*FZ^(IB!H!4-WNQ\2EZ+;I>_%TLB%XM61[S^_K]4@6>V1H?S#^55K
MN<,1?9SR:L3Z@=V:A7U<:RJ-AFG4Z+N18C9,I:'4X:,,LQ:DN)'R$ZD:4A5%
M)W,D^W,_L@6SH46&#F_U@4I6<G;9@NS.F+>R]LG&0UO\OV^BF(F!!U\F.L+F
M,AS;"V[B,1T-YOIA,">]06^WH+QH>%8%GI/QK&;$<]MQW:#5*5!W"!!NI<*U
M)(!]&&!K M@-I,/W3;U&>%1DFA=('OF3%^!\M1CCWUZYR%8M/B:1(J('8%L&
M2M6@;#L!JJ7P@_)!,K^@!GJ9:SNL<H^%"ZT?+N&! Y?<6FI;H7,)F:;**PZ_
MDE_TR;$G S5/01'J7;F@K94"VB*02( V4BY2Q1%AB>=Y3,CI%B^8SA(%M,'4
MT80'%-,#*AYQV/._+&?X\25/,! R#%W5V7._R3SA H3H(*).$7LDB!M+JH*T
M /V$1$*:<-@7-7^$/Z2O!]DVZC[0<%LRN.NE@+M>;;BG(GQ5H]_JB!/^O\#S
M?QK[@3P0O/X?H+Q>"I37*X1R.-[@(*VG .G];$*OOX##BG@CT-;&J@(B[P%R
MKT\V#)PK/L[,2CT9AF1H_DFSXX<U_Y%"!BM?*2"B=@YN*A:85%1%,*DH%9A
MYM2V;,RD=D'<(FE61N$05B;.4JN5"PMAIJ6"&4Q&"1)66ROTUE6FP@H[7\*\
MZLZ+RA&Y./,.I2:^XZ[]5!/(W1>Y53JL6B)7S8;<;X[KTW])+<^;N1AB\IX]
ML9FF69=,AE"P\\EU9L_ACP6>=Y4J-&54O%*%2H8!6KHPH$U<GW6*AOJB[<YW
MZ3FF1KF4<=6AMA,O=;*>MVA6:HKZLF9E45'<+0<K4[Q6D)4I7E.Q\CI>DT1J
M!8X+C6.UDKRK'H9WD2$]RO=RFS>/-#\@K:XP2=] .%+:)AEL*@T!V^/#MHKT
MJQZ7?@6<"PIGLUE%%C:;J5@X: #L$Y!)!8$4&B<0IJG%3O,[KDM?YLR\,47<
M;^S"DUH9#O-W0"\:/GRRYD.C$LV'6?M'BN7P>74"7JGAY+59)W\/V!';5$Z;
MLCEI<TNQG 4I2+:G7C&@^O=5OP?"7SX[@EP"J1@(*E/0 \LZ]ZP"+>L#GCM3
M9[*0.G,?!GF"9OMP1"98K/.>ZSS$XV*O<QN/AZ%.?\^>_AQ@3WCWOJMND:=B
MK_IUH,@B%OUPBTX#\V(O>@\/R%BL]Z'6^]DEQ5[O.Y= #KG$W!Z=&>20E.._
M4T-O!(_">RK4'>CCSB[?Q8=GLCEBP0SM87BVX[B+Y7R>V+R=2(+#=Z1!*&,3
M/^9D^BE(?S-\FUUN<D7MPLQ]ATR'(R9I&#R,Q90YV 5T)=#).( T1Z#ZQ]I=
M075CO98YTNU9"I*MSW4+9,;<:)K?4S0!D%N9M><$[YS8'G.O>"7%]D(*1=]#
MS.0T1E3S&W'->D:B\>B?+AFX,ZA<1AH8"Y7/6%KQ$*>5SHAZ?B.R1J,D<<'
MK->=+J7%5C(<;]G<]R:#8DXKKK'H,:Q5/YA_WE\8R0;Y,AM3W]1Y[5=N@[#@
MR69%:/PFUDVD'6!SWFGN+2;D]MLV>EW=:_0Z:JS*X<',2^[0]X^WMZW^/[F$
M[[+=H8;B\E,;<]-/EGDQ*Y%Y"6&B9X?)JAOP==RRM%O3'(/+^YM/WUH/.8?*
M'V5^:FP:83QU'A.*XPIO-*P-T^F4JNGVA>IOK+=16CUYB/OYNC0L#)BV@)68
M7IVUHMO(8V*86LXG!,'@G0$9X?$3T"-\$!.+#5[ WJDV*.]9F"5;.?N#YNQA
MI'_W])C'A]9GZ;9S?=-N]:2[_O?KQS8(:]Y\:^\K))^_E<:R?]$O].]M@&AR
M%4Z>G%S-QU"G'>-GC[P/OTF3EC3U,(.Y7^_/"X_EH99>IHM<+=ZGO0*-),"M
M5S-3S-4W9%Z/>)](;1SCEZAYM4W)@NQ'-T5>ZFT7H3"&].'',_4L<>7-^-*S
M^'I_DPMS)YL[ZP5WC-+;?1#U,@L&,81NJ++^BIGP4V[Q*??RY68-&_F D&FX
M7P_(V/D=[M-+V>9GNE]#YPO=SH.M?%,N'CI5 L'9(8:"&/8KT$@+R@1Y*%"D
MS;ZLF_'K.G.SGN>"=%\.'^LRE85(L)%]P?"QGV7IBA!OCQ*1P]DJP3[&T:]0
M;^:YC34CGD<J!,*.K]+"+HQV4J,5E]VVQ(V"W[)?9,.,@N%*ZZS":)5BN(X[
M]7SIDRQ]=A;P "?H+?M%5FTHN*VT;BJ,5BENNX+V0Q=++5FZPXLI$>R6:PG6
MK"CXK;2N*HQ6*7Z[P[.Q]%V6^O9PQ/J=!+UEO\B:$06[E=91A=$JQ6YM[+HV
MD7I08R2H+5>6-F;!!%[;)TE[JM*XAK*2T*L-'&L!7T?^9'SY'U!+ P04
M" "GB7I:[U'^H*H5  ! !@$ $0   '5T;60M,C R-#$R,S$N>'-D[3UK<]LX
MDI]W?@4N'\Z9*LO/.'%\<;9D6<[XUK&TECRS<U=74S )2;A0I 8@'6M__37
MARB) $D)2IA;^(LI N@'T4 W&HW&A[^^3#WT3!BG@7^Y=WQPM(>([P0N]<>7
M>Y0'K?/SL_>MX[V_?OSIP[^U6JC/ C=RB(N>YJA[_:G]P",:$L2#4?@5,[*/
MVNXS]D6%3C"=12%AZ-;W@V<< @*^#S^<@WTHF\T9'4]"]+KS,SHY.CIOG1R=
MG*'_[O?_\;>S3[^]>WM\=_1K]S^'-R?_]? _!^CKUZ\'Q!UC)K$=.,$4M5I
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
M)<)X7AVLE)/Y Y=1+$U8XV\\<THG$QQ/U&RK&,PIB46V#"30QY4FB@:B9%2
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
ML.E)FXVA026^^O0<]S<,A3!![*LMC.L$S09O0_P&N/WLXI !I+KF8SRU1<]
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
M%HBV8?_!HB71V5Y':T64@ICJ:6:W9%L&!OU5@6EC_W  SQ"$P&=WR0S[C,\
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
M#F+JAXQXAM7JA'8)&P&=FV4@U6MZJ:N77G_T!ZH%Y=#^3 .FE ^>DJN-%WA
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
M+O2QM6%&IX%68$;M429Q,J'D%\YF^UNR3;,=N">2#8W>GIJ-']6-#70>H]N
M_>51;VKT].V$<<^ZI<;+1U7:H"-%F1;&7"72RNWTZ:DQ0H6G@[(O!O;C>8SI
M>L?#%!J[[4B/=N>E4]2O0Z<<(8Q'LM@+O%H#Z?O;*'H0D7Z9OM)@1^.G??JR
M@;?),YM;V2XFHL] H*ZX_V_Z-"IY<W,M\7X E^2"9(+)U?Z0G.DZE4W86P?>
MWN8RJG;4S/HU2MK(IY)&.H=&VK2Z:&&IDY31+7';SYF<]QSP)4R0I%?,P(2<
MLNS7>N/H/8P^+6ND(WXL@DO.;K.!E3.XGAVEDZ-X8FDF@F:V*AQ)->_0?BZ'
MQ>E7/%]/O%=O18.5\I:XI"3ZNE@M'0.V0V5DZW@FV"NP^NIE>M56>Y +6G73
M"S>U-4CI%=@\M7.6=6&^EEB?:W!>\: IV-?KAB2LJ,FR8=@[S5"S] ;+V>40
MT;>.:CQI(A+%YI+5*$YAY30ECUL(#1"1LO.U[/Q<LJ-H6Q.2 0:CO;&A%J7"
M3T9:(3?(24H0<\PQ75O "*<,RE9GQSB#Z9(<%PUZ3/48T Z>6C?,#D#*X04[
MUF-SUCWB0/>*KL.(2G<_T[<D<EB_> $#RRRA&^Z& W0>H>^+:UC*<*5RM^I2
MHIE@]TZM@9FZTN#U)ZX#7%6\>C&X)+"/)S>49KW8;;!(I4NG ;,,%^3?J6G+
M0_Z['WO#)/H1::P4TXZJM/'T/J=:&%BIY#+[B/HMPW*-%6KS^91T1G_)]%Y"
MGUDK%OFK5(=\Q8)&DN&5RL: 9@DSI5B%I77_PMF&\6\)Y2(,OAIP^E?.Z.T;
M,<AIH](0I=GVU"CJ-"=&[#J^2.YWP[[+;P2KRYK)@*'0 '5Z>$Q\ ;4343WA
M]5N"$BT;E*>WJ.J&KO,2I/_<>@&]+,&*NJRQW 1E&ACP;C]D)TC_("" S -;
M;K.U[*#,4:#LBOYB;]+%)"P-81694E3<T<KX&_5#1F)P:G7" (M+( <1&<?8
MNU3*MR/"!%F"KF96*8V_T>LJ,SS57&#YF66NC"D^ZA.)R-6[Q,?,J^V =+JQ
MNJ:)IKD"9W?.5VX_%9MT$6%G$2F4G3'&LT"L(OBRNI>@(2W10\</-;&/+:%$
M!YV!X5UH_8\>4M2DFSHBHM7'\8 3@SA)&>^2ES#R_DY7CP'K9^EVX9Z!,C[A
MSWT *XBD1O.U%$A5?E?8M_1NIH?.K&1JACB,_"-(L_$_RI%.$ZY:=C1H<<[O
MGKM";Q;H%K%GL4+XS HFA[DM1[7-?YRPA=R-XT5=+A:::C'TNJ&EU6Q90@CU
MY?5#@=N>%X%4GY1 ,_XAEQ4M>]'T"@,#_GZNV03!AH(67'7;5OT0^M)-2R?4
M[CU-Q2WQQ:="R+M4C&UT*GI&*5S%Z?=4+W#['(:KKY[OWX01&PN!4,_=+]E(
MB'T^MCX[7E#!D-6@ BP,F^N*.K_FB0_@!&8MY!'ZYK[ -&,9$)N;)0_*EGW8
M%T7;ED;)'I:'R3A8P3W>%F;U)1-:FHV@R9,&2-UTM<-23Z41@LN3^$#+H-C
M'"4<9HUZJV>^[4,:E),T'*>I/!HR;;>HTAS'=OOVH-;5$KNV;F(9RR!NPH1J
M.FTD)GH9%$<6DIA':>WK(%_Q !;0];H@^7@$T^]1C&5HK&]_'FN:G=&3.Q@#
M-Y_C*^BO<X7P;F!E,E&36E:C9=@H;VG11TIIWOY\&#*O5O;>S^+BQ 18Y<.@
M?LB(#T.M3B;",'EPAY=*JB?*'<QUH=88I:X+>CW44_8'[C[--/GB1'^CX$^1
M;KU5TX[Z 7RNASI=4-,1]Q, 7&VRVBU#5'W[B_D<M#JC)S_X.)FO8<L,I$P+
M&KUZ+HT7H:]VA5<^@/>&K],%YU(3\_./9ZB?Q*Q6RX!4W_RB)[Q67_064.$E
M/'R5Z2*B0YYI *P'2B2IGS 16%&C#3:X(JV>STVN+$ P9L?D5_RGRT_6'?76
MVZ8LY$*GJ_I)H\$3F2E E?Z(3HQQ(@,?4N'P^@S&3S174"-FHE;+(>!ZVM)"
M"HYB?W?@W#[>K3Q6QVWH9IZ/<K^4E< XLBNDH?;^HDJ2U6E)'U>T5G92KS)N
M![T-<OS[ES!(W35*NKM0!-/?*GFX,W8>T0*5$E&K15VN:K#<YY46[BQ^Y<;S
M:91QJ97T>UDI?,Q*J50#T2J\W@,UG$4 J&AV,3A%;>WV80*Y, 2V#WLNW+RI
MRV'"!2HEHP))\B$DHFI#80-HM1N&#C!Q+I1^IN057%=@YZ9HX7G%#U0:4HXA
MJ(=>>_C##2R_@!7+IUDP#9Y9;^3W_)5%,8.@3C[Z=MD77#.\=G!62^LW-!A,
MJ(\/I:EJZ'EPCM?941X.6C@\/P?ZV_ KC<1?WD;I$=>I2*M<Y17V&- _GFLD
M/A"NDR4#J$_S=^H37X7']@,ZCA)I,+-/QX',/APO"A=LF>&P1<+XS<N?*:G+
MM1TRM9)Q[BBB/O(7J/&OEL"TMLD9MO2L;7=D1!;>D1\)C:9UC)S!HAOJ6CYP
M_()0CW-1BW"GHX:6C)/.>\!8[($6^! YTU;_N8OY7<,RG- UC2*Z6CIO6>+.
M_*F,UB.H;&F:^J".9P\RR#(DF13N0WB08RI+FHGFZ#'WGENKS"5^TVCX>9U:
MZ-KW)/%;DU'9?KXHJ=JC\00ZR14NIN-@-=Z$4>+]O>SVIET=F!FEM<8H'ZTR
M%,)MM2R7WUC+D@T-SVY:K$FV_X_7<&,353O;G,?A4FO3RW,8;F) '- R.<^\
MPG*_OO(RJ"-9E4346>RATBP TM0)+$9; T>OA7:=U^M<:;Z3$]=*? V<52]6
M4\+5/-1=)KW8$"5<90Z]N(X0;KCV5'H8X1HUQ$Y<SS#ZN0 +Z.O'6RZ-^CE&
MRO ,F6GDMF((U3R$]J[3TLEPK-,HXW@?^W[XU6'=SSG>K]G;W4L(A ./2*J!
M94#4,U?!,TZ_#WN./I4656)@L#64M+IJ&'C:K#9S,:>M6F$JW/1DX2[$\V6Z
MI(!E($8:3AUDVK[_N[M<.BAW'08K6#JMKAP?IIS%"Z5))<";/X^ZC&JC*>X8
M(G$\GS.!THC]&9!4'N$"L_20MJ"WM8U.;K5:=V=/D1L!N%J)'!X/7ORWB1>[
M?ACOHMI96.M1?"R'OGZXH Y)#D>H6!J 2$O@V,8DQ5B.AGW6_A0C34X,,7QL
M4KY/$]I)P215N:H;/(PY]VBN(P9C(CON)W)Q2-P,@OFK.Q--)-F&3DNZ:6/=
M,8I6"VTZ%6EN)OFXI"5>>YGBV<[SVHE?[B&[U8J]??:/,6Q/#RZF8V#IX,LE
MQ43?H +L=-]<5]2 9&L.EXD3F;^8/' D" ^.QLY!F,$3EVY:6'GZ8J*90[SH
MFILJ_[IKB=Q^SF8.-Z3Q,LQH<2 9PC'5VC+4U'[\%+-WNJL\T>E"%/H<J,/V
MFW''B$D20NY2H1D):')("ACR3UJ#ZC>6C:HN[5XXANH:>/VE>A-YYB;\GD<P
MKG)653D':^;=JO3X:UR/D41Q;33'QL<?4O]Z7'@QV2_=;/UP3ZEVAN1A:(=:
MFJ\T>UOKGN_/[366J,E5("Z4,^)V6B89%03)<^1EYTLC$G,A)G,88K06E\*+
MQ(D2U:+M'!HP#92.-XW5'\S=MLP$I>ZR2M#W2'Q1M] [+62&",/HXFJQF"X7
MEL&@O)GE9!-F5B'U$>D+ZK(71;*__/2T])("HV!I$4PLNDH>BOT$*H*7_>6G
M=T_?DDR$);U?U6HY#KW2S)UQ$2R=M]F*K9N]M2=X+Y1L%-7E\?P$-9H88"J
M:\Q3$?:Q5FC9HDA?H-,M[8_8^9T^VSJMO41)8E L@SDP5TK$P(!72D2M9HD+
M4.H:("TH:=EY^0HJ#2@??E=#K!_JU>R\X)8Z,<WE0H$[+KA7!O[I>]%+BO53
MXVK0]*PM]3;#%<*%EB3QR01S#O,1265; DNLZ0KTKI@^'P#<P/NH!5]>T"Q
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
M1'0+@&;OIL,O3'>;7D?MK"Z_JQ #HOTPSM)#A^MP%T?")29^VF^C<+5S$U@
M/(?1OBJTN&D-F('<4EO4D4*65WR^)O/'!4G=AF)RM0?/0Y#+ED]"L*$!W&$K
MZT:PG$7]I+5/Q=;:-/I:FDP>?A@<][*0G#H1'+/&]S3BQR<BN7!=[MZZI[!+
M0TVM4/=SJ0BXJA5'=Y8@KZ$-\NNW)ETS",*:8JL[5'60V?E7D-GYW)#5&%,#
MHFFQVVY]?M[K^%<.ZP&7+EXH38Y)H^,Z@#6J GW/T4)?- P_,11.:.)X/KQR
MKVG$_@Q(*IYP^21COK,,FVWL5;@J:-O!'6<6'Z_"+=N5:*06ETN:RBU>(AWE
M3Z!(+IZ*L016&D90I197]4%/4;^">N_>\50^^2=%\/&]17E(1@U>GR4PJ&IF
M,<!585?+R(44L&A007]D0D;>;.REY0*1T#M^]N,%WS;E$;*C?97.R/A&VDV6
MI!IT+5';]P5]>NH-X5T\X&:>)3 1'@2JJ;I)#0:OV76U187'.&_D25  $"<1
MCEE GPSGJS1S9V&+T!@4(*'0P#+XMC!9Q65XHQX>/H=%R:6. L6-J^DTTT6%
MWA@\R]4";L,#_8(/2MC)J]764(U28M3U<#^,#6RJB1P?'$I6&\B7D A.V6KD
MUCV%9G;0TPK%]B!$<"\DYT2(95C4M$6!MZ!!%_4=R<J4XC/Y2^@S6\80,97L
M%5"K?<Q@E&NE7OB85RE8E,,NEF0)+W8>+I>8N*'JHG4:<;$FFCAPM&REF2IB
M9^O1V<^$'H:KKY[OJV;N[&?T%)V3@YJ+T[I,4MFT4$]XSTT#)1VHP'A6=9JD
M8D)=[K-&OKNT#-1Y&Q1>$658Z" ,<;RAP0K.,B<T=B-O6\+KJ2R&"42LDHM;
MTJ;U$JEB2_J^KMUR*&*MP3O 0LHP<./%KN.#LQL;;A,GR7=A95$,)NKDHYA1
M4E((4;EP;V35$ZC?(GC4F4"&B%8?=!:Y_$"?^;HU2.Z<31E$2HOA8Y?+Y1H(
M7CY63*!FBT!1U?!B^'*%Q=L[N?&42-=AS+;(G-0JUT6E13!N:BIYF'X6F=Y<
M5BD_HZOAYNI+6WRNKI)VG5<<@LI\LF]9);HZ2\^5.NSQ_0.-7CV7QI,0@G5S
M0*@NBTG;5:L!DNF&^R/";C"MW1)8:#5=3NVE9WU$OB _?')\9;#5R<^H7$ E
M<E#;-UZ?J00_+95K.,<),><UAY69YB2OCPH@_87I/^7CB?,,>H\!LY=TC0.L
M2?%)P/ #>+Y(P<7I=4]5C/$56XX$X%"7.B==*@X_K%+12,"_+8TQ,(N41OL?
M_:"RF/]1+JB?</W/GPC LIXL90NP14=+*$A:MOYQRUXM_*];;Z,D2N]49#=D
M(V;M,>!<PC42'PC7R<8)HV/SZ]&%=(!'! $:5'BI7#^?_(RB(2N1@_+\Y4"K
MNCWH0[NFO%U"Z?-:09?9YH0E2P61]J"<;K9^N*<TW3&6#Z.[,'BE,;S_@& G
MEG^"\XB[,/DS31ZH&SX',,J6X14]?IJS=^;RA=[1M^2& 8,3? E^R9LP2HN5
M7+E8IAQF0%K4#!-GQ6EKLN,2$?)$2OBR#DT2M%CQZ:_0*E8D(:Q=Y-@4L@S)
M%96_@,81UCH"S2._Y!<7<<JX2EC[B-1 0Y/4>?98PRG2ZHX\KXG;/KS(KPV+
MM+-D:]2*1NYN5[)RZTZ.18R+IRVWDEM1J&C)E-!Y%W1(EEB"OI[\+Q/OF:N=
MLL@I!EJQ'-[#4B$9M4J*V:N*O[*.U1_( ^US+U18H.A/6&7\]KN0ZQ#\[N-=
M],S>\_XL<)6[9%5)S/J\1CK*YX97O4BK)JQN0RM4 SHW7"X6FW)>:[0:B\D+
M)AV0=7;A_L5Y\S:[3>D(*/Z.N5@OE81!>UJA)9VN;*)\::ZV9C_+TY0O:+[.
M<VZP5[7GCH/5Q/-W"02:/?FU5"IM:T,O-7&M,,*L%:Y+B%A&A"O O3M2%2P!
MIR'3%1:"!A#03TY")W[AK*KQ"X0BO#H^O&CTV*CTGD7G*6RB(6J- /'?#B?0
M97](LBR#:B.#%+(6-NXSA*,2#9\C9_OBN;=A\,RI306AZ2Q8A]&&KW>JR B;
M/8]R=6JC*9ZUZB.Y($?1!&2GY+A".I'$F_*;ZJJE=:M8W7;:M%1M9:P35ZO6
M".XKG:)+Z2KF,?,.O*V46>H4KX F-1A(MMA46Z1'*A='  ]\:P7^S+"^V99F
M+K0$MPAKE:0L;-6Y/3$UN1%$RT^H^'<6W$=TZWBK7"X$IB5WV!;C3@'CEI7A
MV9\P;<"!F\LA5 @04;BA\-Y/PY,$XP+Y[\O_,1AOV6&+?Q M#N@SG'[<8AMN
MV7#&&:[(M87&>R^#_ '(% .F3KJ)*CV,J2F,':35.J <>M*:#QMFRS!7W?(\
MIC3,/PCO+=]P*R!37M8TW^V)!JC+C.Q@9<NCK"#_/(FYL\"[)Y#QK4B<3"Y-
M)H-&M^:51D]A3%4SLI%&V4#G>V*8.BK?(M)Z&1QCE^W2=I"W896&L6VV$7UA
M<SW;F["W0KBAMV$<7U&V/:%+YTT5(M&\'NR@:JTY*H3_*#1;),ABB1]:DUL8
M;:<\8G%=W#=74!J!/GZ">&-7M5VM>, @/Y!"%Q.< ;ZU:>_JVU]!BE/5&;UR
M30I<,S1+RMU1%9SJGC+%*5FC%098A\2+'I=!$N>-;8K$&_?7MKUQ->VA(HG4
MZ::^6*9/$GPQ)7BB9?#[J2%FTGK4 "NUMGYX&@3OF @N/7.X( %-4A!^,KF6
M-=VP2JHS=.L&8NK6ME )@W<S;'9!(L6DL3H41##RKRC*J*(4U#)35&<;V4M)
M*T]XH13&[*!7)^GETI%@Z(9]DS_-K2J)Z>T:Z:C7;UKU"1D4K]TB'-2T7\:$
MCOF[I(XKR?%1_-T(69RI?!Y'ECBHT:)>+VUI*2_<,*DZ3DF3<Y'A#Q0(5[(?
MES3:J$XR&E=CEEU;7V_40NO ILWK+6$^. @6)0B(M@2,6,-5LVTW['&[@V5N
M'"_ZH^/O8 &VVV0$^"*K\L2#% ]!5EYU%=J/[,&":MI8:.! &U"9<)V)I+24
M+CO3.WO0EK7#()UE+"2G-9[MGB+NPD $&PGFZ5D0)Q%?LM5F4^E4Y& 30@-[
M##P/,$TOA*I$Z$HD98\<)=9Y5O?0,\8&?5.HVC'6XYJP0C9M>1%_*)X%(AZX
MBDFI[?@WK4;G<T)'=D-=\8/(\QO#'5FR\;CN$H+]>*^TX C@^0;JB )4'C"=
MR4-[T71MB4Z9PW)4':,C.\?^A)UC1,:</=FR =^Y\0O^,;W@L"_/Y-0W ARG
MK\,@\8(=YS"DZ=0C?"8.UY$TOF$?O><\]9*!"@UX*"/;@AEEHE;R#N1_*_SP
MCRJ0HP[DB2M!TO)<C1%)%;%L9.$M6N+,:P(>/8X-I@,,T,#U?$_P R9. L[&
MMZ&(\\[TK!P0^K68&06-M4:M ]=K"KE795"3!R:/G.HP(EP+[L;.]<@- BO?
M+BWM60[\=C#H)[@VY/M'%[0"%_OPF8$M_ARQH:I =M43Z$#:>FUP%!O'ZHD7
MD$S B' 1ED%0PQB%T%G-OND%6KE=BV +FJ_3J'+!MRJQ"2G@UK06+ 1;:HVZ
M81=U"Y=RDUG*.VQ+I5M1X>I.2(; 1"'TE)#+3KJ%EL;+#TD,?OOQM_=YO:DN
MA0U-=?I<S8?1GO6-=.QTUYS*L@RLS0Q4\*-OWHN]0//&"[R$\ICTO.->2<II
MX<JS4\7>M:P,"UU<&S!0%I)3%H.C;$%H(-W-RFJ,,O>NG6T$B3@[YA%O  SM
M24<FD''.>]IQ<CQX.\1C][]V7LQY3\=O7EF^N/IG,.0BVAKAECE'(41((9(8
M\A<0]%=#)")&6]20_FYU3$+*T^I6M_N\J/&T[2ISC#0#;\]L:F+[G3M_FK!_
MXH2S8*4'40U9U=K5:HY=#=4J4RQKZ3E/X>B3+?E33?BAD)VGH(9LJ:9=PT.D
MEY%R*G^QVVY]OA2NB6.L?0R+=5V],&#F,N(/69_9=D*D:X(\!AOU33\K?8%U
M$63I[I=LPQ4[_!@+<E3RC[ZX*-#C_6M?'WJ]CVT)"J_'ZF'^374AJ3+V1>2B
MC558UQOI]_9+^WNQ#N0BTMR[D&/5VWB^$_$C_BHVP29/8Y;[+;1$,CD=Q/$S
M0! HTN@*D>(FR-#*OZ/&-=P#)$S&SO%)X$1PP_G*=@5>[/IAO(OXTDC3)N>U
M.6AA>GF;T!;^_1 YA,$SQ%I,Z%-2]_8I+XNF;ZC2 ,WT^3VY$*R7"1-!0(8E
MP-)J?H&XH;8'6H?X47>5XL5='6'"/OS$7B]PA#^.HJO]+!"\R;G^5!9K"XXZ
MN<C5!-0KGW^S">D)G+I7$%VPJTR5W2=&ZJR0P4/+_'WQFKYZ,9OHV(IE$NZ>
MDO7.'[LN>$*H+MXK'S' 7%JK#Y*J5-1/V':7DQ*QUQW[Y*0R2$1=ZKU"9UB"
MJ2:6*:$EU>NJGGP\"K1(E2R%ZO)X_XX:37#>'3+OE:C=,BS5MK_HT*'3%3T1
M7<:4-16HV2?TE?HA9]6MOAZN?@9/>ZFA$8[]4@C@Z_+5481EJ-*R0Y$+4[=K
M^IJC-N 7QY9I]TXTC[B'W(H'-V9\A.K9JO9) _.6KG;(&0RH);F<$6&2&)2$
M\^0JC:X]I"NQ#((-#%0RQ37JOT%8?26FP0E=>ZXRV;W&@Z;9?M6ZX>:^E/F7
MG@?SK]H*=2S -5W4SW4DP/\E])D-8Q'767.]4O$ ^A*Q5A?4_:!4^R^<;1C_
MEN<GL"[18;T5"C=[>EW2^VD5SZ6S]<!?$PA#YD]^FIA1M='4?-CD>5:]CAC,
M@23"S[5\SASCVYI<LY%%JLZ\-+MMP/Q=X^3:B:(]FX#YJUZUN--ZMIO\70H-
M40L\2-ME-EV%<=W9.%$SH8,8RP9-(P/HY1JKPE=/RP&V&H']V'Q]XP5.X'J.
M?Q^F_E)U"P.-1_%+!'W],./E<3G^D7R93F;7XUMR_S"?/%XO%R,RN[M^3Z[G
M=XOY[6PR7DXGY&I\.[Z[GI+%C]/I<F%P>)EN:4VF@98-)A>P6V1:OM $\M!:
M-D2;&+&XJFJ(Y^X86V^\:#/+LQ04?S? VGHJ"<7=F/*V0HUD-K$$&,JFEI"W
MEEBU0_I60;@Q#583!KN2KBXO9X*ZM50RRM\Z(VX5-9,I9+9E=5N$@<JVEY&V
MJLW>S[:*QC&EI^R,&5/[/F-:F^SJ0E$:5X/>:K74&[7IXC)'I$#L>1 \(DE(
MGBA[=7DK>P-/VMJNL#W#=+IUZ%XRF:I-6_-Z^L3WB>:] YQ+/V.$GU@/ _%B
MQ[?WNH1;4B?8<X^Q63#=00K0'%J4Q3!^E%5RL3?9K-[4*= +B*C:D(,D5NN&
MGI";,*")$^V)PWD^P-E1T;[S<G:L,J/LU5B+.D0@83YK3/EM?&515-A@C7S4
MZC7+^B.1R]3'7O>M/7XL5+3SO,9#G3E/ @)UT#@D24F!EZ$J16>S.CHB**G6
M&#,2&[)Y<+G=DYC@VUMS%'=HMI,V6]"SC,A330,M(BNI-I(F58D&CMN_PG(!
M.],W]P5\C8%&3(K6&3].DO!Q,2EYL36L /.Z:Z<KBL+A-(!K3S*9@F=-#O=B
M8F&WP00;>CUVU]JZEV;6:IHU-H+&[H"2A;4P2873]"4:DQ4-PHT7\)<C6TRN
M=P&/^'+\-%\ZLUMJG8AN@=R!O5(/OS#=;7J+MK.Z_&Y%#(B.*"TF(20L*5N4
M:CS5&:W%J58=$EOTP6C1O#$-5Z[__Y!8G)I2F\:B!*[M%[!QE$B+5_;IN'!E
M'WYZ@ %=0A1S^EO;D5,J >?RQ4 6\XM)\H4Z$ +)[R5J"5_ZQ$5IJ[/>5QNV
METW*U<[S><Q2L,K^G&VV4?@J8K(J@SGTGL5N2AIIB,%25CMWR3]\D&59@J=6
MELFOR)MWWB#)@2>'T.:ZR%B=)TVG!J[0#ATU>PEAL]>+V>G[<?P<43'%W3-=
M7\#E\*B$9?AL8*VZ9+IUG=E/SD5(:5P2-L7)QTO8(=+E\.H_=W$"7;9TWA38
M-5$S.C.CN=9AL"_R1I<%W*5,^*,\]\C^=+-Z4&@$!YZ6#0F#1BXD=C2,H0X\
M8:9! J[KJQ501W/OJWG$XUF# C)KBV/\8G3TP&!8U$]2 1E)?1B13(@EJ-2U
MA>PNH]TIG>$'8!UMP^A(=W\-AS71_CI<J6%4_10>35I:&0#5B1P)6JDT N*L
M@Y>6<8HHT^^SSL FILSD(3O= RU*4Z]7%L?#JUH/ [A*!9"#!")$6(>E:DL4
M0:31)1V@)Z4"6>PW3Z%? I?3WS'X*)5D@IM%U&A1_Y>V5.YPM5';'S]#Z!,G
M<Q8;D5EP[03.RBDY<E:5Q!PSUTC'1JY=^)S!V^&5PP6'J-[0L;(!Y?%.$!7-
M'+%OH,CIP?**_=>F$^4:*\JGR#H([.SD>.'2P(F\\#&(M]3UUAY=E=[.5)?%
MG"S7:H Z:4XKMP096NV5SYCU3-[7&1]E79F(_>F"NKO(2SP:<V<=NMFJXL_J
MGS-POJ>G&09)F9#T6(.MX0]R)(_?4>JN!5(-NKR8:>$/HH4!?88I\[:/A@YT
M@*EGK)+CRP9([67097YQ3(7L[?#*WIMAM%>,MHH'L,.L7A<C[IV *U'_B!PD
M6 :Q>E/DL:79+WUGT;D+ >M;FM##%45EKC^M1PUFR*G5#^5,)>?#.4HZWM98
MF@>PB7TJ\MSH=6#[/=AIALOYNCP,A,^O%9DT,#5A]G!([7%,2[)HV.N$AXBB
M4[Z2:@)WRYI;ORMLT.P/9)N&#X$;7T5!FS:%2"/+FT830Z*?;<-FZW@1C]>/
M)EZ\#6/'GZ]S>UZ]' ZMJD)O+A#Z&SKH$3(LP;$)NQ06WMB.[2TS,M-AQ4><
M'F(K'S&1&[E.'PP"[R./S3!;B,CC(7J2-,NPJ&.)LLS(6EW3#[_/[BFF_[4#
MPE78%BB3@M271S/YU&F"=Y'Z@5R0HQ@BY%@&J5HS%&AIM'IDL+#]6D35/-1%
M0'X7V/HE9*W@E5L&*#T#Z 30#PFM8UJZ!AZ>%8_@CW[K]4&#ZM<,4\=@7.N0
MI6.#XE&G9J?TE?N"(3S9WS/; U,E,.]Q]G%]E#6JPD!NC,;ZHE$(,ULFF#N[
M'Z1:AL<VUBG)E]&N.SO(XG,7!@\[GUY^?/K^<AQ%RV@3)*L;WWG.(:2Z+":?
M3ZT&.' %%U [@>HO+N7D/@388T4<I248T[*&G-Q'KT-ZO<O)<QQ<T8"NE?SQ
M=4^9NM6IT<K(U8XG7J*)A2]133.HKG5T>J<GD&TCZGK9&6LYHJ0B>/@4Y>&P
M<JS/.H@4FUK$@\*VO73^'4V N)@[=J_HZFK_& ,T#]N'L9MXK_Q4N(8SN$5%
M6""UUQU%K 7\VVL__!H3Z&SI(L$YR+,,ANT-E0<KLI?[RX,QW_)#.M9SU=FE
M%(6-Y+]0ZH +A&8U,]#Q"R]^&1O$XO:+UC);#7(J5FF)TOP7U=W1"X:R1'OW
MSAXNPU+7<@6&%(6Q&*K6 8.AK&:X$+4P6V)UP_.0T;!^/Y#A5TXU2#DI@P9(
MF4140$"8' AODM2+VJ!+8FM]$]#KUHS2@P"ZK.$%'"NQT4'4RC6$]D744432
MG?R,B5DIDX-:?/%P2U:A;>%O90V5(U:4%NTZ^O8^C-GX^ ]O6QDT65K86.1M
MJ0XFXVZ% ,(DV(:+>CLH8V[5G=%A[H)Q$.P<7\30E:"EM)B)S 5E<E&' EGB
M E%Q&NUH$3"J&EZ6M4!I\>XB8H])-0OTC<J)I/(A ]&Q&CJ9B)$]2:):9"BU
M"$?Z=BF)F-7MK%X6T(?;F9J3IF(Y[$):*1EW+)DXGF_;4E39U/QRM-K*5N62
MN&.J+K]2_Y5^"8/D19F2LFUU?6664+4#Y1/:)L'$/+!E"67*A&VS3%1BH9_3
M3)B8GYAZJVOIL$],U^-=\A)&WM_IZC%@_9$[/(NG;S1RO9C>1YY+.?5@^@V<
MDXAR<8ZO^>212]69Z9 JH4]F+; GZOP7-+VX@@:0%*CR_3N,=$$8DXDF7#;A
M^AZ^!8U'I,#*?OJ,97. #3U7.*^V92CT-Q==&6IM1@U?;'75M-.#=",S3']6
M&G R23=&DFXV3AG]=47I[- S8@><""3D7.V/15)@C;\ZT2K5^#,K"/',(A5C
MH_'>6D@WPQK;9E.C5];IQ!_O:4]*1SEHEHUO'K0,V@%ECM!O1.XHI]6Y":,U
M]9)=9)U70S<=HC>&C:!P&#H(\.!.OTNOUQ]H3*-7-B4%J['K1CO'C\>^'WYU
M6!>P[I^$NZ=DO?.SBU;%<.U D''Z"6-M-TM;(9A1#M\?4G>ERG'7[52[$3E<
MWC]0EWJO8B5_T)FL@2*2U>(EY-8^'H+N>J26/<,L'%N?NKN"V%(,W?3#<=2F
M7_PTF^9@+?W0=E04ZT:1&SU,;\=WMB0#+[8MPX/"<,,&J53QI=0\U%D@BC&.
ME$S"B' 9IX$G]?0HPS6HTLT$V2JKHFHJZ5X:X*\]T<O"?:&K'=O!K#_3\#ER
MMB^>.PO8NVO#EU=5S"[:CV*H7)KJAR,<%++(?$V.TH@DSA!A2Q>-:LC;F3 9
M<!T?.!&<O+.US>H0G<6306:V"%6V.*\L44U-+O.UM )Z3Q=SSXY_'<:Z+"SJ
M\OBKM1I-<'=GK'+":[<$4MK-+MYWZ?1 O_'@F@P^JN+&XL [0,XYA'[K$NWH
MV+^?DXQB'&^-ITC5$^BSA7IML/';MD%'H\F%7;AF#PP9ZP:TFO%I\)("3PTJ
MZ"BVK4)7%-IH0ER(:WO',^1ZP;?L_ZDDO; V.]I7N8/#-]*BV+T*0VG&[-6A
MMJ_%0 2^-Q,J_A5J <FM>A16/V-@65"O$6YM<*C.*-TW5FU=JF\=[0=:V-1;
MH&1UHXFE_D)7V98YS?BX&@>K!YIX$5U-^*977"*)"V35K6F3*HR$N3;4%Q7^
M(_RR8QX#>Y#*S^(B(7=$8B[-,G"V,51I;&R;GNT%NE,G"I@2,=."JS#Q_!V;
M1Q0H597& K)&"U1H0%HUG#)!X#4'(L@@[U9"RK<&YW,##7FET5,84]5,CFO/
M$(.HQB;Y\:*#L1Y//'A:.^X=4+UI594V<]ZAU (S-!Z7XQ_)E^ED=CV^)?</
M\\GC]7(Q(K.[Z_?D>GZWF-_.)N/E=$(62_;/E^G=DLQOX.?YERD9WTU8H2_W
M#],?IW>+V1^GZ0]F%T?8IM<,IDXL .QM#D0#OU">^-ZRX5ACU?*#I&I<]^T1
M(Y&>?P[#U5?/]]E;-9^3.O^YW@&F9;T&_5UP+3/BWI(X;P=6_3W#LG<09F>4
MOC'K5;BB& !&?QG0=1@M2@H:R4]NG-OB/J);QUME+#DQWS2$/ >YU=P1:FN4
MY@7OE45"1)'^,?1W 21CO/%\&JE3YN;+X:.!%9(Q,#E42=90IR5@J&UR,;:W
MRMH=\@<L68TE"#CYV01?@"S'"$\ 5&A1;Y>ULXP6X&!06?=;]M?O?Y9]P_X#
M$4J__]G_ U!+ P04    " "GB7I:6"SJC.4V  #S! 0 %0   '5T;60M,C R
M-#$R,S%?<')E+GAM;.U];7/CN+'NY^17^.9^V'NK,COCF=F7265S2I;M*=]X
M1HYL[YZ<4[>V:!*2D*4(!21E:W_] ?@BD2(:!-\!F56;C&T"8/?3P,-&HP'\
M]3]>UN[9%E$?$^^G;\Z_???-&?)LXF!O^=,WV"=O?OSQNT]OSK_YC[_]\:__
MZ\V;LSM*G-!&SMG3[NSJ\O-D[H<X0&<^603/%D5_/ILX6\OC!:9DO0D#1,]N
M/(]LK8"]P/\S^\7^]L_LV69'\7(5G/V?Z?\]>__NW8]OWK][_]W9?]_=_>??
MO_O\RP_?G]^^^_GJ_SU<O_^O^?__]NSY^?E;Y"PM&KWM6YNLS]Z\81*YV/OM
M+_S_GBP?G3%5//^G/ZV"8/.7MV]YG9<GZGY+Z/(M>\6'MVG!/_WQ#W^(RO[E
MQ<>Y\L\?TM+G;__SR^V]O4)KZPWV_(#K%-7S\5_\Z,^WQ(Z44GCA&5B"__8F
M+?:&_^G-^?LW'\Z_??&=@Y@+[.;>$@;6:HT<C@-KYOW'\_<?S@^E>7/54"C4
M2' X__3IT]OH::8P:\P)]J6S;7_W-GZ8+XPELNR1_=L?_Q ;DQ(7S='BC/_[
M.+\I5?LM+_@6._372V*':^0%Z;\3S[GR ASL;KP%H>O(5G\ZB[3Y2[#;H)_^
MY./UQD7IWU84+7[Z4QBLG3=IX]P*_UNY[;=[)384^:Q4].=;]H?<6]%+@#P'
M.>E[N0)MJ\DD241QB9U]^S<N[[6$?I-5^AO^<C\UYL+RGR(+A?Z;I65M(AG>
M(C?PT[]$^$38)'_X]8$I=<&:_FWRY ?4LH.T?==Z0NY/W\#EWC81U4?VMTNR
M?>L@'$O)?C@(QW[Y-89FCI:8O\\+OEIK="0;6"PC6M:@$YH7TZ)VVB+[,;+F
M-V"'3TJ\W3"N]((W]@J[3EI[0<E:!E7Z5B*1^2STV>O)A@MJN=^<$>H@&O-Z
M+TA/F5;4<F]8!W_Y.]J!4!^7,P+K@G)BL-]W#W8Z^!]8BP*,<X\UAS:OBAC1
M#_TA>H<H)HQ1G4LKD$&;+V<(QD?*B<'^V#W8TY!RG:ZQ;UON/Y%%8;S!HII#
M#JLH1OV[[E%_H!9WZ^]WZR?B"J#./]<<WR-EQ*!^W]=G[\%ZN7&82GB!XTG!
MUW#]A"CX^8/*:PYZB;)B(_S0F^]!UFOBW0=,@?L54]:?A0&?7O!^ CLBLDI&
MF$.NMM@F/_9ED[OPR<7VM4NLXRF!N(P1B.>4$@/\J2^ K[&+Z)1]6):$PNYV
MOI01(!\I!LQKWO5&+O'W?(XVA ;\P\,P"WV85L3%C4 >4A4P06]SRY^)&S+
M:-PU8.R/RQD!>D$Y .T>)I>Q0+\@U_V[1YZ]>V3YQ$/.C>^'$I<&*F\$^J"R
M@!5ZF)#&@MVOF&0\DFYY,+OG"AF!=UXM .0>)J*)-&O+=2]"'WO(AVDE7\H,
MF/.* 3CW,/6,Q;E:([ID'Y3/E#P'J[)>+2YM!.Z H@#^O<U2KU[8K-GS,1<@
M#@7!X!>+FH&\0$4 ]A[FI9,U\IQHL0;Y-L61" +(A<4TAUNL&@!U#]/-PW*8
M%UIN[+M*PK>Y8II#+58-@+J'B><^8K\?::5P%XH: GE116#)I[=Y*)\>E 07
M,T4TA[FH$@!O;W/,&\\FE%DZ@HE/?-&4L'D9W4V) R\<RVL98802Q0&[]#8;
MG3@.@\Y/_KEE#NTY: U162-L(%020+ZW&6@BS93].*,/;(I<AGNFI$FH9Q4$
M,.]M0IJ(% W#&;VC9(L]&Z8?H+A)Z!=4!4S0VUPUD>N.^('E_A?>2/E?6-@D
M^(_4!,#O8:+*1^&$(@N ._=8<X#SJ@"0]C )Y7FJ[MV*>+#?6"BB.;1%E0!X
M>YAXWB,[I,S4Y^^?'G#@BGIMH8CF\!95 N#M8;*9RG+U8J\L;XF !$YA,4-@
MSJL&9,#U-L&\\0+$I<5;=&D%5K(8*)GZ"(MK#KU<5< $/4Q";^P%G80.9NU,
M@@#Y,6K7KB5*8)$4UAQ^F9H ^#TFU5YC-@%>!U>4$CHEK$_8$B,H5-+<&"IJ
M T;I81*ZCS,#^.>?:P[UD3( JCU,,P\V3]-3K]E?1&N?4$G-D085!##O85Z9
M%RE>G%)#/5O6*-QS2@+(]S"I3#XU@.N8?:HYNCE% #S[6-:,Q4@W0,*8[DN8
M@>M!(0#;'J:3B2C7F*YO1,OS^>=FX)HJ Z":SB+_^K:@R"W[0PM;0Z/H(J>E
M1U;L"W(PYZ9H(W/@WWCVE'@^<;'#"CD7ELLWI-ZO$ K\NMM%:[^OGRVDM<7K
M>UOI7M#9@GFG3!#,!"7Q@FS)3E.EJHW&<AV%)K[/<"P1_:C0L&.\B@GXL(<T
M[6A?:ATCL*Z^0338W;&N'6V?_G>(-US%KP@RB;3*L 82=ZFL*>3Z:F28SX0X
MS]@]WIM6>*P[X <].MH@7 =<-GIQ@&[Q%CDW##!OB9]<%.ORF9)"WJMR-=V-
M4:YW1WN.6S;2Q&8SJ]#E'^7)FF_,^%WD?#=HR&!#@MC .YS/F(X+1"ER;F/D
M !T^Q6Z3AY:\]:AL_]WB6%]&W%<OMAOR+7XEI*E457?3J^D/;ZQ6-?:'V-@!
M"2QW(%/'"DH]0^W-E>H ;\HVSB#)VI"2YWY<UF0'OJ"W1A[-U/)7S)WE_W"7
M=FNY3%)_$DPM2G>,&7ZVW/ XX%>MK@X##>AY65,I @%[^E6'(Z(^&FHXVC;/
M2_7GR$9,4_9)8!\#\2*U4A5#3"Q76Z-!>>-MF4B$[N#)=*Z((?CGU=)HQC +
M5HCFU !0%Q0T!'N1BAT=7=3805!Q# ;&'>XQX.>_S6_'@*[<+;:>L,L\'^2S
MSV5T8LJ*N$P3GW\V@UV)=Z=<W4R'3QT=C>COEGC+!T37E^@IB%R@#>;]"UD^
MFCVY>!D?.PL95*WRL.:LVFES)E5$1Z,8<,1.&9V_$L\N_ZZ)*YAK.!D*&CE[
MEPGS/U@O&6'3B S3^CAP<_P[8-/F[9IK^A8PU8B?4VWX]L(URNL$SQ#*:IEO
M71 /C1Q;?K <#M91+(%]/(C'#X-"S)] T+B5U3#79E(<.CK-LZ%[JQ:NE%0P
MWH55#%P.,V-,@CEWUHY'<M2B5T>%M1E.%8)7Q_IJY'8R$6G(IK %O6"K .4-
M,PRDM49>IK)1#+>&NAD^&!MW*;><^9^>$UF)KAP?.[F(6/486./-#'7]].0
M:.F2YW$Q,XU2U+:C8\=KNA%I(E(4PN%'_U&T0IZ/MRB>\]T2W[] "T+Y[._X
M$)OZ[9AIS!IX=72@>2UK.PZ.Y;BS,)O2)_'53 ^%S%M>T5![*B#2T8'I=0PX
M1X&%/>1<6=1C<_IL'N$E6F ;0Y\ZA8IF&E %D:Z.8F_'25%V3@RUD$ACR<GL
M!CF<93&ZFLNRAMJY' W)"?'-K*[?1KR[".85"GB%OG?EY5^N]Q:]O*SC?KWV
MIE8,V1F-I'2B><<=HM%U.^6S+;"FF<2DA(E&H=W"_4B3,%@1BG]'Q_NK56H8
M;[,B!AJ%>@MR1O=P*-LI*7TB-DIUUV@YO\(5:TI53L12"C>NI0N-6OA6&<7C
M($NTKET(O?3@:*E*HIW7I2IX__GW_+5[Z4J\+JCT )&8+?)"=,W&)T^PX$+\
M@H/5-/0#)B#=[_;C*4[L/YX=!89FJK<T+ V5F"P?GJD!DU:^F,\&#$]FBR:U
MB&ZQC?Q[XL*?>+"",4:3*:V1[Q7MAF=LMP"CGMD2QJ"?4^LDEM-G&\2O:?"6
M5R\;]JU!9>?)P.6-,:)$98WRNNZ1ZW+R]9PO%OT-9>2%@AYP!6-,(U-:H^3(
M.<.0Z<_WR5ZRCZA+HA-PY.:1US'&0B6J:Y3)\!EY;)SS)/>)L\8>YCKQTYGE
M9BJK98RA2M77*--AS\B'5?JRST^FI#$F$:H)IR"8Y$7P?(O]U%75E9!7,L>L
M)<IKE*.0B!H@!BC?Q'>)M]A!7K*#1&XGJ)(&&Y!+>Y[ 7" &&LUPYV1GN?%U
M:FOTE7@D)1#(QP#+FV8DB>8:S7(CO;+2Q?+*/8R22J99J@P#C18<#I_=-.:%
MO9!)G'R7B9?D!N[WTR'_ZH4ISF3&GD5W-^Q;$.V>Y=$R$LU44AZ1AD2[>:-I
M':53])N?S:>!%[77/('S@KGP<  -*FV,WP2JJU-.8!SLD\Q(,@6,03ZKU&FD
M^Z4IIFG2R(7E8QNPF+BL,<8#5&TO@6^+Z!,9[$RV8_4NL1L&8-8&5-I8:^[5
M!>Q98WEA6'O*MF)<L\\]7GKQ!D5[%UV0;D4W13&?(OK-C<WF_"OT@^24\=D"
M7J_MZ&7&]*:NP 8Z8PW_:MC.*("FI$?):AC3+:1J [9MOL'4I.RDOG/":XEE
M:M[2L'GDAB8Q5:7R8_)N[R,I:MD8ZFL%1GE(6"^>\V>+XOZ>/AE-+("^W"66
M=\#=+C7.2E"I.\!VRD2L!WY03YGL<2%M<KBKG>IUK*I&:TA[T6(M.!42CW?[
MR0N&8EKR.IK8*->KA,80:ZR1;3*Y_U_0^@E1>!)R5$X3&\CZ%+#)(554(S,
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
MCXC3LJ.S!5UL8^37_>#7>UD_7_]ZLO5_\&PJY0/3]X*]Y+>2E7U9C?YW?<O
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
MY/$KPEH=B"HO&F)<JLAUNL-4'!8^;"067ZXJ+J/Q" 24TBB\DQPJ](M%*?O
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
MN-GTW;F.7_GJ.E<!\U-EKO3PWTR^DORTT[[>_NJZG,P273O)1XD><\1G@TP
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
MVE1<Q!=&Y)^MH_HSY=!>8X+44J$M:>]A?+$(H$F56A*2Z7_9("3/>U$76S3
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
MB^6)/T*.\*D+<P>^L^TTS_6 _45-EQ&-]KS#D*NC(%5Y0CR"[ T1V?K*N#!
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
MI#\;F$2U=F@*AD<KIJ/%\;X2^K:$5="MYJCHUNZ\!LMO/*R6?R]Y,ZUB;GD
M9Z*&$<N@.@_2>U7CUXX@4F>,3P2NGRA90+ !PH8Q*M:E01;7?-]&7_<.O]AX
M?SBW..Q5JJ%-].(0#CBC2Q76)>\LH(R@E&-4P?GVN 52IE*L(*%F[CMSD.;?
M*7)7"G_H$A_WHV]1Z D][1\.>[J;4\M_""/[)F-@!)P"/#8F@RQFMP*:[MRC
MF7KK7C.Y',K\NI;W?M=?EWCV[R:BL.8 $)8,HL^ +@P\@*5!VU#O,?PNN)TV
M"W' [9YC>TQDLI# )3'3I!:)"3WWJU)M/_A,8-J8X"EL)9W+D"((?](O#MU/
MH3C &RQ#^4Q#(VH##OT>-2K,!^\K1'OEWT!GRUTL<E,H].FLRU<:AR0C5]:"
MR']):GL%8!9I(B+WK2BW JZO $M4@]E0[5R>E0LL:]];R9=^K%CP&^D7A/N,
M_9A3E]_7IGZ.GUY7!\":S*( _"%9D]N /R>'*@"'"[V+';8\J\X?9\\EZ]J/
M!]>8MIB:"8_7.GP\<<=#XP+[\=]_^M5X$7V.&#P>EUURI8HD,D[$)5'%JK 6
MO!DR,YNY5BWYEK+YT3)VDUOKEPXX/FQ[WWZ\I_[X/=0&T8=&$F\>0;#6Y'9:
M0W<TL8%<";2%-UILY+*?WPAE=UP;X\CYL*'H&-)TFT-<P]O70^G[LGC=ZO(J
MS@1,8*#1T0]TP<ZW/YQZFH;4EH(Y TWUQMX=_F9SSB<[UX:#DGG>>!I_\SLW
M=;P/"[K6";H"?1A!O,9":X'Y(GB_=L*X8@6):#MQ-S1VK-OFXH[&<F9D)DS+
MR=(O@/?T@<(#3FHEF$^B8NUHQ=W!))PS#8W!U^8!J*'90.R7H47R%63-0'AH
M/>[OPX=/_KS<>"B4PC[ QLYP0AQ"JZ 5PO!HK$4* E_<>XS6@L"_XAO X_AW
ML\.#67.K WYH+W2VZ-]XBV[7#\O/DOYV+@A,0?A\#-$1 P:M7:P;2:W?F!<P
M:X+'PR#?^+0[FV(?WIK;"WF%W&LN)^1[*)^8D1%E&>:07"2([&M7TF<\B#<.
M5J2E_/#;_0<"\.;9&RVYML2JWE(_[>QBI&];87;\7?L9O1NQ,Z<83725;D5X
M]."(9CA 80OLI9EW:4\WB0[9S<4_AWM/O'.S'D9/XR0>>7?Q-UYZW )I#!(_
ML61L%\6?]8D-JWSW;55UN8R)UD:8$J/^EV4QY1B'ST<0J@B.SAD>AZ=YV8 J
MBZ3*$+>:&H/682G!VF-4&$?1/O;^S?;6TVUF7_Y.Y<F%?!AZDW(GSZ/60\CH
M\CH7$-,$'QG'T0JJ5MV?D@LP']*1DA$K:&UJ1_Q'#^)-3"KHEJ!V*NA*M"Y$
M("))6H$4\E*AZMQ!VJ\>-=<;.>N'IBGOC'W/KW"P9VC<:&,R@;[Q()IA /GM
M- 2^#,HJZ$Q**4;6Q5J3-/ZN*R^HHK7L'X5YO6X_=F6T4O3:FFNM/!%"Z5"7
M5&0B.E,QQ!&JE!6HE#^S\:([\>> !D*H%/RNC>G=CJP'[#T^/O+>!AII[NRK
M;%Y[5XI;P/BV1_2=U6HH;GU&/_$W$2OQ&$-,>U$AQB^I[U.(6HO=K-5S#=$K
MYZW X.O!;&_W'UCZC& ^JJ&;.EW*KD&S+F/!^#4Q#]686M$7FSP&C=;H"(R,
MQ5L(W1C1=PJ!1[KK@RKMB9]U_K/_DW+;^=N3^&/35+^3>^+%C<WI&_,\*W>Z
M>_;%5R[(F:R[0#+6W3U.-@S#\-4PL-G*@!(=<L7@'N0B0)_(-)2)/X)PN2 \
MS^3ZYT:>["W_4@W3,!\[W22$T&5@>^9O_*,%M7B021>@E3=B\&E_UKEI3X\@
M?CVF!&AZ(U5"7CB>H63'NV>VL:(P_:5#9ICF&,\.@Y2S>W0Y;S;(F3R(8;E9
MO6+QGX21$%#L^'.S]S"\<&G%S$%W6?1TRE#/_.=+]Y=66E.O"J ^++F7WTK@
MCHW^=^ $PJN)GT6R4*U)AIL.R;\Z%[M]2!(V':_?=<^AJKAKW.*J[2D7G]FA
M[_X-J=!*T7BY>4PT)TZ7SN$%MG)'D/@Y))JG*8@40:[7->8&W*?7$)Y+Z\[F
M):]6A<QT)NJ])'_*)0[RG OZ#:5S#(%+Z/0IZ.O42MTLJE6]*YPR*'SX_.=7
M7>>AYJ5[7\?5S?D8KVXS=#YSD3_&\EZ( :@#1<0"D22F?\7:#96R+@+0CL^5
MS..R.E2OWW#SQ&NOHNT]#W^G8,M7?2EF;PI56B"O8I&%O#V1L!7KS<5].=!'
M9'=@K+UBL9Z+6ON\?;V*<8;6Q,DVPP !IQWRHCH\X5NX19BZ7.,U[<IVFW3O
M3L5 /'K1G1O4BR3<H\^#:!^# DZY/]OL2O(<CZGM(P@G-U@TN8YH:4RT>F\)
MYWS;Z>YE>Z8$ZU=&[H'YE+D(**+\^X..:[PF?14[E7FOQWH QG_Z-VQ/0N\.
MV=W%ICZ0SV/M57*87/K>M-WS8MUC<?Y,7T&6C=Z/K*:#=,8B@ZYNJ]K@[KRC
MT??R?/0]U>)OM+E'-T8COM1(E%SFR^#B3PCZJS_7H>I SB"!Y#,[TE(M-]W(
M)OQT777_9)Q.4\SII;.=UNVV2G]9WI__^?!'Q4./:1&J9 -%ECYW!.EPV&LB
M9"*6#0F;\,I!:0E2H4-$@$XGR3HL^'.&I=2&E:7Y":O4@Y;2XW^?4+01_X[$
M4,A6AWTKXNX&*@7C90,=+,F?>/<B90$5P[7SP&VP)CXD$82<]UTY#!H@)K9C
M(OV2M+MA@.@#N]K;T&/_3F^,.5#IO(.H1V$C#;&^H<>PVEMU?BS R)(JUJY.
M?N5R^/&\PI2UK%_0%_$BT^T(;GAF_Z%#MI8]22>7\-4YSKI_76QAJ+/**..5
MLTMKRHDK?F<;<X4W7JZR:)SY1@-[V\0GB#YY#!XLH"*(T*!<L -@CI=JCRK3
MF"%T/QEREGXM,_MKMPUB59ZW^CT]+^E.WOE5GO.NB^M(HD4N(*/6CUA"](E[
M#![D/#B)3*>KV$HZZ*+1CPH&*E;OV*JKYJC+";L^6PI1K#9,",,0+7@!>7>,
M6NXO''!*;;\2WW1F:AC;^>08702(D<X77AG05%C:Z+FN,G;BK<[T4(HO;47S
MN0CGYF_G-7%M;']I\)W72G9O1JIL_L>G7O]SQKN NH)C\-DX* 9?C1/N%0=&
M\%.#W#"+3N*W3B1*H>K>#ADN'JZ&W3!I5 CCXDX+N8^:Q&*N\5XI<L568IZ.
M1D5.0J(=]B(H,E0%6F8OL[\'0R^OOXI?U8[.W_PKEY\X\$191\@8M77E#R*=
M?[NLF+WM" K@&&#4JTLL>D\+F'P>;@+-@Q&O>0"R:?N*5?%SV)'];5";2\"3
M. )").C2]J"S<68]PG?-S7)A3*C@O(X8SWYIUFDAK:P)E\5D8AI58H 2$C\7
M#VLA+5*%8.0Z^\3YEUWY4P/HNSBW,76W?#6L N<;I4<:?)&*J6.PCKLK\KBX
M^.?7S'PDH5I!23@AAB_05N1>#%&.;$D\B4HP9J?"VJ;O[&_>>!,#/X+$W,=[
M313EGADI0,:K+$QXC2^)_*B!Q)WR9_H(\T<N5Q)@^^>(&W\(H<.\;'T-.[H8
M]=00\76WK$1_QPC)>JG7FWG(*RJ?#Y8/Z-R+H-N$4YE):.KI!DRJB+36(F$N
M9:L4L:DR<*_S]%MEN4?4YYK"J^?E-\^QQ)& JR9B[]RS@[W\56]E*=>G8"M%
M(6%LK^O)ZZS$_3*4XJ/@>Z7WYN13/&..("=CM[(DD]6R5RRJPUW<##B5&&%*
MR89L,]U>Y"Q:"IC20=*%')9F(BT.J[%(6=\$@C8>_2/@ZV;WB#TO]JZ;GE4,
MQ9G*\ZN;CRIH_SJ^?R]F(\$XE/8&+,+/CB!M-50AE;X2#[ G\4=PV]S#<L\]
M$1>N# KS*IG\;-?,YFMN]S"OM:E=\+E#(1TLX":Y2UYD!,D\;=/-9> 0G:.M
M=NRUM&3!T&$:]L3LS0O,/_ 0B[?WL]29-S,HI3BA>"&&*RN7.M%,XUDI3"E[
MIV8<$SBR6?=NA=O7EO."VX<@  6V/1(E[NO]0X?A;+&2C?4+7G-R-_--4O7Y
MRGDXFV,'1L6.?X&UZH+--(63/HH1NH?(-A;[%!D<,;@.M<\U?;?0H0#7 GKM
M;^:L>AHU9FZI\#GJCQJ=,?Y>67/>A-^IC^POS/=FY=KT?SWPICT+[T.E(\#^
M$I#9WNNCW*4ON'/3&N*5OI6\Z-E.+7>,#&;]*!H_OB%:$%7\Y/('[WY6'PE+
M0G;<6W/-.3LV3>(4(33QWW, 4WT>O+'J7I4[]^U>V2^(Q[6."%TJAT#L#'EZ
M@G[HTCE-*5!J+*T&@>_!L3ALB*3$.AQ!..O7&K?0\UK[L/UW=Q:P=W7JC'3U
M[:V#_W0ND#3>T'Y\T'GLP$9V3+RK7/ U3POG+V!,CP_18*N"6%4NEQIJ995E
ML(W/%-C-!'>(8B6>)IVB?!B0Z;HU7SL\/V20<&J@:F4EA:^OXV980TX12! Z
M;*F"FF1U6FOD4ZHIQ226\=/OR2M*U/;Y:C3'/;D^":.ASW5L/7$<_P&,EZB+
MA_8?+$\1P%2&Q$\];#^"\ "AUEG5R%<!]S?T;E^[BQ"(5JQ3:(F-HIR(_XCA
MIZN!/9$4]381<7XNUJG:<=PGJ,D]H/;'(V]_QP;O6" (GE$\YM;MV7,I-]:.
M;=N6*@2ELTL0N^B<#!0___\X9*.?AB?9S.Q3U8(KX)D##V*4N9944<YDZ)G+
M/E'C<FP?PQB+!B(\?..G,&W0?M@RDC"9VW\$29)F:?UTS\UX^79'6UL6]Y+=
ML9PUMQ5(L5&!^V/[%R90+?HG*/&2[9(M^?DB@10U'+K<-?"NN(6Y=&-!KN-'
MR$UTB&(LW.BYP(-\UJ B(B^5;Y?.\9+X<Q!#?/(5V5J=%%YW.E->=Y&RE2]\
M[8I=RR;*N#)I*"Z!3;0BP3B.N$T5A)'5B3GH3=6H\P 3 ?@,/ PY0;H7[/<V
MDOWMA[.*$H[YCCP<NY\<ZF+% 3GB.%YQX(4NP:$?QKC3*T6D%X2\WCDT+@A\
MO;)2NU</H_GUW!>5"C>#7,7,%&_-[P_Z]YLI?]@MNO4@T7!Q] &:RI=)Y\AN
M @Y#TQV@K5NY/)7&KPY3!N^'?%J9#/M<[)MNZ2I@M9+E_9S!P^>J"?0YC&@+
M!>3]P*Y8<80J)+&1-L2;MJXU&V+,"]^V,:T"X@,4@B:-O>/&.#_O\0]S*1GE
MOX$<BSC4%KI] X)QOC_[G/]*.6/23(828W--C6F]4\>+N0N6:Y;>MP<8#:"!
M?Y,1?1)@\GCN20[V_4F&$8/7?@]]1@NLN0=46*S)! /G'JZN,@S;Q(&1%NNU
M@01.3%$%MH>(V1H'Y,O$WTT9GYNR$_*5;CZ"='Y:NS*-+*^]!U[C 5YCWH&>
M 0F(SZ2RM9X3YI-OF7GJ18V14^;,U _N2NE29$[*=2'^$@C>6"!^$L=*9P-D
MIPCH?E3J ]VT=@G1>=5[/<K]>A67E<[WYUC:L=J>.Z?2FFO1EBK(;!=L__&[
MX>$\5HFQJ>P%-XJ_^ER\<\?#'3,AB#2\]A7:(ES&]ND];54A!K?&Z8>CN_N7
M.J^J?1"LLC6#.,2(+MU.NU((W.(O8S6<^__COXK^OYUL1\O_"U!+ P04
M" "GB7I:?+1#4@-(  #95@$ #P   '5T;61?97@Q.7HQ+FAT;>U]:5?;6)KP
M]_X5>L^\/07G"!<DD%2E:NH< R:XFZUMDW1FSGR0[6NCBBRYM4#H7S_/=C=)
M9@F!D*KT=$^P+=WUV==?#T?'1[_]Y=?_M[$1G.79M)JH:3"^#GK[;[N#HHI+
M%139K+R*<A4&W>EEE.(#>]EB694J#_IIFEU&99RE10@?)IT0?EM>Y_'\H@S6
M]M:#%YN;/VV\V'RQ$_S/V=D__[[S]OWK5UM'F^]Z?QL=O/COP?]V@JNKJXZ:
MSJ.<9NM,LD6PL0$K.NQU]^&?47]TU/OMUQ_YW[_\^J-\OWNZ_P'^V>^_"XKR
M.E'_M8CR>9QN)&I6OGGU:EG^<A5/RXLWVS]M+LO??CT<R&,_C+-\JO(WF[]<
M*%PE_,$/;O["([S9VEZ6P2;^WP^__7H61$D\3_^+=R1#S+*T?+,%XP:C>*&*
MX$1=!8-L$:4RQ$:9+=_ S_KC."O+;/$&%@4C[O[6^W01C^,RV/JYL_7KC[NP
MN3/8R=F7&/T_TW&Q_.7[@-\'?," #/$3E2*&WV?TK:W.SDYC!D"G7R99DN5O
M_F/S8!O0'Y#@X/1D)$/KG^@_OYV/NH?!<6^_O]<]"LX&I_OG>Z,AD):3O<ZO
M/^);WQ"V?,XYOMDD$C$<=4>]XQX<TNE!<'9ZU-_[$ QZ0)+W^R=O@[W3X[.C
M?O=DKQ>\[X\.@X/>?F\ YT7$9'=  _3VS@?]4;\W#(ZZ[X??%IEYP,']K4JN
M@Q<[(3*>EW;7GTO^[7O+:*XVQKF*/FY$,UC7FRBYBJZ+7^KCO80-CJ/)QWF>
M5>ET0Z#[YTW\/SW%3S@#,1<>/(E3M6'6H_?SP*7K8_R]*LIX=GVO6]KN/!"-
M1X?]87 _(!X=]@P@UZ W@,'Z)Z/>R7YO/QB=!@?=XSZ\.NC_=R_X<'K.[\,?
M@^!T]ZC_MCOJGYX,@^[)/DPW/(._^[OP/ UW#F,,@G?P[NGY<.5\@]X1# *+
MA,E&@RZMMW]"2W0>A5W=0*[T"[AP6 8=PNZ@]ZX_^A &S?/IGL%I['5WCWKT
M_?FH!^,,SH]Z>B-OSX]D8X?=8;#;ZYW $<)N3H9P*/C(\/SXF,Z$/\($,/V@
M=W ZZ 4GIR,Z\$'O$%[HO^MU>#-F!;43AJV\Z^_W@F[PC_/^WM]A^@,8"N\*
M?KSM]&1VG-.,>7(Z"(:'I^='\-,(5H]'W(?OS^%Z MA/-]CO'?1/8)1WO>#M
M.<Y-MXH7V-L;R46<#+M[? ;]DW>G1^_P7NY\(8_-/SX+W0!Y2_6IW(C3*9"[
M-R]?V9E8DA69\:#;/SH?T/$3XGSP*7_]"A!$\(+/3N'\1WUXX@ OH/_VI'\
M1P,7#OA#2/$AZ/WS['1X+D!R>@)#X[.(5W@O)W!V(&3W]\]AD-WS4= ]&I[2
M$S@^KJ5[\@'^[H[HE4$/8&P(<W;JV()0T?OGWF'WY"V]=]P?#N$J0WKNO#/L
M!-W1Z'1PTOOP ]XD++-'[YP-^N\ 2LVOP^!=_^WI   05GIV/AB>]^";4XT<
M  ,K#J43['XPO\$7H;>#X_.A[.WX%, 0]D<+/H&=[MUQ AQ?#W?6&PQ/3TYZ
M1YW&+*$0H;W>8-0%(K'7'^R='P,J GH!J.[WAWM'IT-O3G@*#O9T,$)2"!LF
M'+W;^=+WSA+@<(>'7: #IT>PB&'G426#1T4).!0@]H=$/?4&CWK_1)"^X8[T
M<;BX<-8[Z1[1(P3'Q]T/2*'ZQX 7O7T?3(:CP>G)VR-D9'C&0-SD)?QQOP_?
M NB$ K_ CP9!#U9U^J&'0P QA _,6;HN/=.\PKDCN^R#_F XHK>[2 B]QQPF
MJJ>$H4X'"%\ (D!& ?L//M#J&DSUF#B.@6JB%X-3VK2[.$#,HR,XE!'P,9?P
MKERPT/E=_/D4F3V@[S[2X*"[_P[7&EJ.?]-6GB%L\O"=S:9XA'/>"+8[G9]W
M!'(!3+M#9('=_3H;!E  ),=;&_184  ^C[!*@+N/A!#? &D!;FK0Q\](1PB2
M"9*&O1%29SC>K@:6D[VC<R(%<LEFNL<]X/L=Z=:7'K)-AMVLW<GKG^A&_KZ[
M;\3\K(C1G/4F&A=94I7JEULGHY$V7FJRM"6G"H.Z(WL/,P3IAQPI6F1\O=ZM
MY:< EA%/ Q&LV7[T3\ U%)18W_M-]+[?6 #\P-.SK+/[&ZWFV5_,J]NPA^8<
M7<1%,"RC4BW@H2";!6=P.)/K8*#F43Z-TSE9)I,8K93!^[B\" X4'&>4!$,U
MJ7*X65C44715!&OEA0K^\U]55OYR[_,W*W!.FH=:#Z:JF.3Q&*;!"19940;Q
M8IGE900+GJFHK'+X#58^DX45,!B 61$&>97 3U$Z#7(UKQ*VJ@9KH%@E:E+&
MEPHTVX>LVC^!EK5'2SBZ231.5%!F09E':1%->!5Q>IDEEWC N(+"#@4[.2^C
MB^!83>'51&S(I5B#'W3,>)51>MU<*(A4" B]3[ ,/)=@6"T 5JZ#"U"+$U2-
M<<%!(=_.HN("-@%[6L83O)>H#*)<!9/L4N5JBH_.0:]'6\-4E5&<X#>E!VJ=
MX$-6T4M5/H=7X'C@C2D=!OP<PP\6+.%MVAT^M<C@IUF5P-55 -DYW#;<[Q4N
M <;/U;^J&)< IWB=5; O7N(T+B954?#:_)70(GAG\;_A@:@(9@ @V57QYFL3
M<F.'<,6T+T!:7[\PE'7K5M*ZM?F:^.SGTM:]+)W%2()BD _*:[R9?EK -_#/
M+,L7A)4.2':"?;C!29GE /+9;!9/X)()B140HNQ:P;86(&,$BRA. ;A2N%(:
M+K;#!=$XJTH")H%Y M\RCR<E0"DO" @:CIIF^-5B4:6 ;NB<J287WE@ =#C
M$I8!GZH4:$K!3\E7%P R49 J!N./:79%,[MCP%]!HN9P6PN<0Q:UD2L@2@K)
M4P0#%9WG8==^ K![\>A@!V23?$)X^O!?!KD\&.41<C4/WDXRH \,<@;B@. 8
M> -(NT;B#3"VMJSR"=RWPM\+E23K"%@:QAPJ?G41)XJ)C0K@P H &EK*+$ (
MR $90@"]=&-9C8%%>, "  HK2#5OT*/#C#'0X6@VB^*\$)*]=+8)W%ZETX)I
M*7*[2V2"LSRF;Q'6,Q@OIP>N+K(%4D@ 7B#W2!Z3#,DC3G3K F$E]-H"CR2"
MR1!_8!*#+_53<O?Q0^&<DP?Q?TJ3\O/!R9>/CI-#1<)/L/4J. 6@FK- YN&B
M\PB@"H*-(V7U/@%4I7,5="<DJV[]_'+[00*1.V"+^#97*4J4(&H FET"_1!9
M1U,+02KA42%]*BY GKC($A1-$,N"["IEH05>!>10*;*-B4C;/EX SR)Q!C'?
MXDA($HJ1; "]UK;6X3/*P,R<I@&SF 72 Q&7*>:@=G[XI-DR3+N(F2@]2'3O
M[;6<' P8Y[AU.(6+>(E;Q<EK$G!-['4.(PS67JPC69IG(!Z2\.Q00K@2O)$9
MDL-LC#( ;'>6 T6++.FARXB "*\!$8KX3_Q./[ >7($Z XN W^)/&PM EXL
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
M,/CO*U!@8FT3/-:N)[S5$Z#%9TR+5YD'80 )9<5O[^ULL(ZNMN'-X&3CP"P
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
M&P*FZF83@!=J6^> W=1AIF[E*LPLH3KD%+6/X<6MB=:XAK9JWWY$^PJ1\X:
M=LL(^<":UN"VFM#A*BFVOO1G@J(/TV.]L&VW@)%N<Z*U$[>APFK#LD 7*1^K
M;HQAZ0H6=;TQ$X=0+A8EH,YBMB=K$A=DPB:9M JC2$B614Q%GE(E?LNXUIA)
M%[?. ,Q^KZ9SEI1,26L39:VC2Q&MBUN[,Q;Z2RJ@U[1%^<*/7V"*BU=(L9"<
MW*1DUF-AT3>J?5K&-AR/+?[U,Y/3DF!EJ^KQ:2G*'RF7*'H:(*X=I&.1D^B#
M:5V0?W8!!E^S2Q$6_W\*QZW384BKJSJ/:Y\UW&$%0DFJ@W[T*ZV-5()#+,,3
MHXW>5,3L2D.),VPHT? %U]TV)H76YTH-DT*S.9K6QV4S>LFS"E[7720$@/F)
M4"IY,*TA,[P6D'0<Y%6L8PIFBM(.V[B'=8]18*TT^[7DPK TK]5$CE5#J'P,
M)D)4:.05'<GI7CDUC>M,BUZG-P12B"(&+AP)+E,L=FKR64QA9A!# :G$%+M0
M&#4;%PLMWW(DINQC9FHSFH9L6 -IY:+T8Z^X3P6F9=[U_*7AC),$D<V^!W0^
MABWQSEU+-!+9$O@Z:=-ARC91P.*(0+ZQ&<](HR.N2N5\1 &J8<\UE^WB!,L5
M/6@(2IV"GP51HVFS'BFV-.1,9'QK!B--,"-NO:%9H5XV4U><]@:8M/E7DP19
M:XO#:7$P'$J> M<KEBD@C;T5Q*$AT!UH1*!E\<&:SIF2'M4R)K4PBOP>-IQO
MC]MD9W6!%0NP4QF('5A'35?6Y09HG&D:CRO7AF('^Z'0<X6F EF<HC<U1(D
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
M[=<T47!VOHXZF51IS%G^''I@'?.^/;KSN4=YUIBB>93L^Y=>7Y0S9ZKKZ#K
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
MPW"G$$)1/@FQ8'  L%13<+I,B@V08F+UZB0\7#I3VMADK9\*53&-*Z>5,DK
M519R%6JXS[!.7[A/Y_.0Z!]0@D3X;"O1TC4M0,%6^!LFT[J2B"X-8H.%/&KP
M:KP1O%P;KP.RM1.$6\;7N9I(\$$H!L2H/2 AGY%M%V?Z0UO0T2X7;"H7DPS#
MLF8>;?!#N@ZZE;RIFGE1H9#;T#6Q3G[(-?B A5P@[ME,73&G::"NR2L^EM*#
M-$M;%4$I-2"$0;?2$31 S&('MT8"A\0[P[>>2JB-9+K$=>BM66,ME\!@'MHP
MQ3/_0R+P;2/ ^UHI5)(,3/<O7=#<X(9D#]K=^WF@TO:V*2[<A2\':Q**BH*)
MU%Q:MQ7HI;&+D5=X#2C=ZAP!72@8K<+E]9+NBM]"<(T21]1 [2F>STEYPK%
M3$/Z*73;:&AMTCJ5WRN=N@>R,)2%+KD6)?,YBH>I1;+(4=$!.=P!KHG3?>K]
M#VZ0Z-QL3BT,DE^]O@E7[>!"5JQUQ,5*R9'/ELX5\+"/MN9)7&JFM+.!9T5B
MK:GF2_#"+:EJ\B09!&HN 4R78S*#3#*F1B"<4IFR=&Q[6>+XJ^2].T-6O>#O
MBB:0M&NI>(/%1^&6GDO.^F>B=U];F"7[%>"-42BLE_@GIB7%4$^R3O!R>V/[
MU?:++<3C;C5'#'CQ<X@1X"\,#7!#9=U.*Z9D$V6AK4W70Y#@UEDXG*V3#.-D
M+ENQR4H=#)!N%JP.,Z&%HZPTUA QD;*1ND\4P)]L)'1'V&FDT0("H:N5E[K4
M190SSM=#NP"(OE/7IN+9U8TO1A@EE4!A^8WBWD7RXB/A]V4F>+%*YDY&N>,T
M6--'MOY+PVKO6D,R=VIY2>%+&B]6RRS..43C# D OSY;7W\FP/[YM6;[:4#-
MU'-J,>C2(,F383XE9D>K4N.)748%EO[]/<MU)USOT%IKH:#JIKCXL&^LM*8U
MOVY?Z-K?&C5K=*<:-BTFZF[&PF&VJ*&CXQO7--\X/&'3URK*-U!V:B"&VR>I
M\[KS4N> @'2WFD+,D9S#Z@$Z2XG-(+1<8>Y@O9=WY:T28S-X1=_KJ#[S\,37
M3Q"/SZ#0])[MU'T,==?5]@ZS#ZT#6).JVT^ZP!+3B F(+=S B(L]8032E<8Q
MK<9P1Q>TX_-8P&3HW;96 H[2XT ]M\/U\,"M+.%(:1SAHK=(GF:V@(0@4\[$
MRA^G%UB1D4S?#8>,\ 'JM+L"\R)[A.(&S RKQ=VSUI\T"H\:DXM[@K^C>*#3
M69Y+U,&#!*>N VMX%*WPYM<A0[@QZ=^D/(JVC?<N5^U=AL.(\B]S5\^$?W\V
M\[92N=/6HNWH2!/) 1G$**@]</\0V^I4UU( +. 2"V<ZK9Q_H+X'[>8!FU]+
M;(QJ?,^5\>-1VRS1'!P$]>S!?>3-*67I@0Y8(>&94NTET*:V-[?6HO6U%Z]8
M(-[>VF1[Q/8+LA2]%#EY9SW4= 64M.1ZW=47;6BLH1U-K8?[TU*K$5(,J2&K
MDV''KY'<[.*R=7GMH!_2UQ\$7KD5FK$=Z5O1\M2.$X! 97 PK#(M6>VU8$VC
MP'<1$_0(.\N,4:9R W_=>(4SZK+G0$D;+6)LM<*.'T8AZV/\Y=<U*6\1E%J>
MEI+T[HS8S\_3K*U<R;4)HP5K]S(<*@!+%A[]T J][W7/ >S$"5'!.VX>XPFR
M@B*>?H*-7/0U<55[^.]\CNIN2>5XXUK-7<>J./8TAD9%%[H;3SNILT%G9A=L
M]?3?.*%JA W[[ES<+;KT;)$ %)W7=#]"+H,1):X^IS[9^ NA^::!^(VM5MAW
MK=M1K;.D3F'%-[<GMSG=+S=#R>N.DL2"FI?:K0/0XMSG1$4MUSNXC".]85AN
M;_]M%^3@:UC<@HD<F1?UB=2J)/"4V)Y9"*^($S(3HS*M0%/%X$J- P#!;]U*
M,[IPBE8ZK<+%DK82W.XG4NO8=IU?)G)=VTW(3^0(F3"V5V+M#LZI.W:,EX.<
MSS>W&VAH$6+K/8+=0BY.E(1G+YW9,@-C6]V;F9E8,7TO&L:,7VJS+J>19]2R
MA;XV[8P%R>951+69)-B<GG#BT=.,D@XT@5QU(@>97^851X@^4G(>#!YIIT&L
MHZGJ_@8.A)(^)'1+R]*: M!B31Q;<_K&7A2"2SK1$HME=G)0Y@5KUU\84QFL
M*V?!YKE4U?Y:Y3GO$%C_T,(ZG#3B5>D<:)%L524=AOY)G&.[@5+5T[]%.<!
M<6EOTTQ-*6Q6AMAB4!II:3ZJ11P4:R0WW;YIP[ENK<0@]$,T[[]%L*#\NB;4
MT"8RIW2#+6,U:[*%L1\1C;J!*=S 0&^E0K>S>"!M%V\Z$BIY62E)=LXID UQ
M$:8U 0_"="2<6FMY&<K6N,9ZER!3P<?3&HUHN:QRC%JK%>[\'ICUI6U?7[1I
MK1"*UX_>L7;0&XX&?>I:.PQ.3P+XW#WJ#77[VKW3X[/NR8<?AK7^M<"QS@?]
M4;\W_-[&UB/M=PKU?R!I/^-@J"&&YC8HN=/PH<OM2[=^?ODR6/O,"M_^<,V.
ML+8RE"*V[]@UI4<25>5.DJ+F4M**!*MOM8:.1BJ2RKU1ZL06D7#"K^?&)VST
M66$EAFQBT7D)PK-S8,:2H9.FOR[I48YS#Q4 29C@BH':.DF>,&(QZ(8.W9$M
MXS+#WC/<F05#@#4M.Y>Z.'!!H>%M1^(? *R++"$4="F^*5.] N_"J0NM.;'C
M*=+]P^F0V,(A5R61POH]<U3<PG.L)E%%M11MW4?Q43I+)1L7BX]X)W%9T1UZ
M=2.CTM\;Q9&YAAH&/@QE3-"E5>N.@_>C,_RP@8L$2&UOVP /T[#4EOAW.O;@
M( #25"32<X5BLW2RQ)J9O[3]N<4  /NN<E4O-&CVA#8/<:WK?@>R\ A#MAQ
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
M9:C4U#4Y+]:7YEIQZ?\+4$L#!!0    ( *>)>EID]4U CP(  ,X&   /
M=71M9%]E>#(S>C$N:'1MO57;;IM $'W/5TQ5*1>).XF=V 3)%^S0^":;)+VH
M#VM8S+:PBY9U'/Z^"R:5*D6-XE3E@=$R,V?.L&=VG9M@.G&/G ^J"@O.HFV(
M(UB7X W'O66Q)0)#P6*Q0QPKT(L>$:T"!BS+MP)S\"EECT@01@M%+D)-D;Z\
MY&23"#@=G(%E&)>J95@7\&VQ^'Q[,7YHM\R)<>]]"D;6U^5W#7:[G8:C#>)U
M-2UD&:BJ9'3C]8;2!'XP\5Q'W]LC1V^^]^?#+](,_7LH1)GBZPSQ#:%JBF/1
M:5NYZ.Y())+.>>LR%ZZS )22#;T.,:UX[U-.8D9%QS1R 0')< $SO(,ERQ#M
M[M$ZQHGK]%WO*2%K(L"R-=/1^Y+-0I8^'/*8KHN\^XSR_Q,/X]T-6<IXYZ-1
M/R?N8#Y;>;, YB/P9T-OX<F77"Z]L;\*O*4WA,5=?^(/H#<8S.]F@3\;P\A?
M3O\MBY<Z^[$M!(G+PT$?,(12TI(:" 8BP4!HR'C.>*WU:D XCC''<AJD"Y9X
M0PK1.%<""9Q5N3-6:&#;MFJU;:ME*H!H5*_-JRO;;L.IC!XQGL%*O3P#%L.=
M0 E,<41"E#;C*)K!JMQLRP%M(ZE$CB47 9&L%,$4\3 !ZT*!:M 4D*@5Y:H#
MEI)]3$RH'%TB88MG>L4K%178)40"-[50GF,YI%6[(B&%[(5N94[C?>[$--3;
MUSJ)&:\)EA(/,(TDO2$.<;:6.K#-NHMS[<TB_[LP#H9Q1G,IZB9]S7B$N;IF
M0K"L8^9/4/]A^!VM%SK<H)(2#,<HR[OU28EHZ>@5C/MN-B]COQ-TA5(!$_03
MPX"(4JGW[MV@C2A;>U&^':XYSNN;I*.:N?AS1W5Y\%>FN0;T_37V"U!+ P04
M    " "GB7I:FF6MI-8"   >"   #P   '5T;61?97@R,WHR+FAT;>U66V_:
M,!1^[Z\X>QFM1+@D+;<&)"Z!9H400=IUFZ;)30SQ1.S(<<K8K]\Q :T/U2YL
MTE[V@F.?G"^?/Y_S&?LFF$U[9_8KPP!?BB@/:02/.W!&D_XBRYFBD(F5VA))
MR]"/G@C7+PQ%DN:*2G Y%T]$,<&S,D["2AECZ4ZR=:S@?'@!9JW6,LR:>04?
M?/_A]FKRMMFH3VOWSIM@;+Y??*S =KNMT&A-Y/YKE5 D8!C(Z,;ICW (W&#J
M].QJ,9[9U</Z8#YZA\/(O8=,[3:TFQ"Y9MS8T)7J-,U476]9I.+.9:.5JI[M
M ]FP->^&E&O>14II);CJU&NI@H E- ./;F$A$L*O"[1.K=2S!SWGX<8=N &8
M5L6TJP-DX^.G3X=\S1^S]/H_R@M2#^?>TO$"F(_!]4:.[^ /3A?.Q%T&SL(9
M@7\WF+I#Z ^'\SLO<+T)C-W%[.\?RS_6\#<2[Q2)848C%I+-H8G5H1W_>#._
MF&@HD7:NL.D.TT>AE$CT2JGWED*(_H!Z@!*@8@J,AT*F0NZ-0[N-I"LJ*5H+
MAF!!URQ3A^!2$443G>N)K *691EUL]F^;)2+YW;;LII0<#[']\=")K T6A=E
M(#PJWFF9M68+GD6M"Q K^(%L.BQR"22/F$)VR%5E$"&5"-#*9D2&,6A7*P.B
MZBVM&$=K9(B4'1EG&F5,DQ"]$R92Y"E,68(>%Y5A&S-$. *3-*5$ZKVKF.&4
M\QR!BB@<:==KQNW/:*^$W+/9(5P&E$?(UZK#B(8T><1J1,J7>UWPP7JY.,R3
MSMAV9Q/(9-C-51+1+Z;UU?Q4KWQ.U[!WX:Y9;T%,]:W0M=K8(:I;\EFH<E2F
M7@+%E";P?>7T7O!0,BPVZ&=9+O5E==3\!*QA3"3V,&K8#T.1<T7TH6KY=%7F
M2L@=]'6%"'D"^H*2B/'U*?W.]8;@%K,CD9P 8#:>E7"17\6+5 ^':[5:_"WX
M!E!+ P04    " "GB7I:NA545/$&  !\&P  #P   '5T;61?97@S,7HQ+FAT
M;=U946_;.!)^WU_!PP*;!) =VVG:PO$&<&)GZVL:!XG;V[W#/= 291.52"U)
MV?']^ON&E!V[<5$G#8JV>8@L:3@<SGSSS9#JO!F]NSS]I?./6HU=&YV4L4C8
M>,'ZO3^Z-[:43C"K4S?G1D2LF\RX(H%SG1>E$X8-E-(S[J16-L)-7(_PKE@8
M.9DZMG]^P%J-QNM:J]$Z9O^YOO[S[?$?_WKULGG9^-#_Y^BB]>^;_];9?#ZO
MBV3"C9^M'NN<U6JPZ$V_V\-E-!A=]D\[A^'Z2^>P>GXV[/V%2V_P@5FWR,3O
M.3<3J6J92%W[5:MP)W.9N&G[Q<O7A3OM7#.>R8GZ/5@61NRE6KEVLU$X-I*Y
ML.Q*S-F-SKDZ"<K:C;W3SMEI_VXJQ]*QHV:]V3D\@S'7F'FI,1:*//$XE>?]
MF]'@8G#>'0V&5VQXP<[[0_9,NJ_?W]R^[UZ-V&C(;MY?]EGSB->:+_;Y >O>
MLFYO>#WJ]]BZU#--?-L_]\LY:K1H2:,W?7;;O3GK7O5O:\,_+_M_L>[YB-X
M%*V-21\QSV]J;(N3)PP<1.RMF$G%+NO J%%SD641BX5Q,ETP-^6N_2W-Z;P]
MZRWE"VTEY5";CZW.D%@G7](08-ZH-XX+MW?:K'<.H6Y=Y[I8TV> EQBP*9\)
M9N (,4<BNZFTC"M5\@P/"VT<TXI=:).S9J/VENF4O7=\RMZ)1,:0"13AJF0_
M86'Y3W;"=^&]UL[>.^,6/H.#\@7[J/0\ V^!%KT3*^\E&O,I[5@,&SC0QM6"
ME<J9$D3JN!,Y,HO<REF..R/AU)3'>&28SD$R3@>Y!P)*Q,):;A8DDO./ O.N
MZ;1XEL 83)EYCL,<)!!+$Y<YQ$#<%I8D2.OY5,939DOZ=S]^+HRHE- "<FDS
MP1.I)FPNW10+M(6(O8&DMX!I.L$R9QCF2\::&WYP1!Q]/2($2Z6"SRE\]SZ.
M  >(X[59>R]5BH3S512_XZQ,H!-Q7'-H! Q(DRU8@3 0@@A9678/D2HZ]I.I
M@<+$NR(BB3*# '"A$;Q0M+T],;=3EF9Z;I>@,6(BK3,<$W%Z&.R&E=%:[.W2
MF ?6_N#A?[%S^$<;OMJS56BKHD*IH]-4XM;[;\#01?E(P?-RG GR*!. QSB3
M=DKB)):#-H@ZZ#Z1-LZT+3&.",7H+(2L,!I]&!Y;MH\()0(A#V'HW\53KB:"
M=9&K-V4&"5__C_?%@1_:/$["7;B55.A5@ KI9Y30:P@*$25;=IXHW9@HQ42T
MSD]Q!0FJ1>UOC96-D!\=U8\HY,\!'RPV*$.G%>"1"(MF"N[R5/OE6$94!6)>
MVMV'$!V/!5O-% A>E^C=2J3I3%J?_) 2RNNA1N>>-M:IQXB,^T!7#'\?K*BB
M)7HI02&P!9Z1"7?>T+&5B>1&T@)DJ$.>#!5I*BW5!I\7UA<23Q7:"ACDX&<:
M5' @+"XS3@R'97DC[FL,1H2*M5YH\6LL2! DA/$B>2KIG#AQYVH2?H-D[>@E
M=@[;$/+]HFV\%6T[Y_4#T.W."#MC#WB=R80@Q:U6G*B/6\"1FA+"&3?),N9
MH>1CF4FWH&JT;5K*  \/'_D W@W1M:;&,^Q=M:"B-' W7$K5,XZU2;P!OKV9
M"(6BF & >",*0C:)H'4+($,&R (D]V28_5B@BBM0B1G/2I_GY'&1IF@RY R^
MLEN:A=]^?=UJOCJQN_!6N-W>/W@,82 XQX8N9:Q+]WD+=F%6OI(6U(*E7VYB
MV7C9W/FTJ#P!>TZ\\I^P;B5+)@G^?!@7VLQ45=^_V1K\1_ 'U2(=QZ4A[Z\1
M_Q:MN;8.S^E@ KHL;4;_+E$WH'K_,T-2P B9_8ET93B:7N'W86IS_WL0K)IR
MNZJ2Q D>=B+Q9.G]41'9 KNMCR*K-F6?R$=?[2(/M>< ##6MWTE[??S$]GKE
MO2\TV?Z$8P7AZ#Z-B576872?T02$1Q3,!PW2RC2.)LEI8U<URC^ RAQ[>R<\
MXK8,&VM40'J72-CF%>P#:* G2_2'*[5IR^P0?Y<2IOM,*%7L-W('/W,?33M=
MZC$DPDQ[!]J%Q%(@+E4A6?6S<\$_4F4(-=[7!M^=^..5Y:[W4=&N6L^P<]N2
M]#S!0"M6.?]99%0]#88@Q&@]HE">+&J3+7,X0/Y/^,547+OU?."K^.!G:72I
M"J4&F14A.,*3 <+KSZPJ'$2!Q*6:Z6PFB,D5GU1';Z;B#Y$7F5X(O)U/=2 -
MOH$RH.)9RES]VY^&]."'-GO'#9#;>ADQ^@#S34]C+H97H^6 ,< N3&VLG=-Y
MNUG<,;]Y9+\V_-_>Z<8I<OA_: \?GM9OD=L\?Z99G_)-X<%,3]!Q/I4B9?T[
M$9?4GK)AJ$E!TV%O\($NU4>KP_#1[?]02P,$%     @ IXEZ6M5[9 L&!P
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
M6H_>/<4WNT6KA Z^^>M+^SN@T_R.^1M02P,$%     @ IXEZ6K7@A"!#!
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
M )4R7,.'6/(^0L!A]>E3]=EL,3$1&854 5FW4H4I_[KM<RUA#7Q&-J!COKM
MW.GLOFX@;KXD$!=]NAB,&$6([^!F#*HFH)3(!65 PP%3]"&"0B!4^*F&0PGP
M:AS:4SPH$ )+H+BIF0#IT[$"A)PYL+1@)!TK_H8TB 5 (;XX^!W2P1UXI6 C
M^M<$C\:P3U6;YRP,@-=A;R%V<E?Y?7*5,E'11?U9*GAF\*/P .(V%@#:L '@
M.94O*([MWEJ\SHHLAA6H6;WP_:D _?^@9ELOB=!5N.%B=>4QHOL!G-(0#JO$
M^<@H3WG6K/L!)STD ;YQG7F8@L0A'":9$,H)X*ZK\3G7EA6Y<J2!6Z086-:)
M.M3JO19 =(@NP/:FT% 5O,IO'U]C@LK0@9;/G*+X)!9H.D4GYET.'PI"4^0>
M0%MT3'R*N"5I5U$90%;8,T>B51CW!KP.QN"'N-81ES?+*8O+<_3@,J4TN'^9
MERCU"1S"6\!(LB@I8MS4$,,#O2+'TZVRN.<89((D3#4M;*$SE]=DSD1)9R'X
M.E;%P+96EZ%8@:*9LGY7W"<K<!.>< W!U @'7Z7\F2.O1Z8NZ#,Z6Y.+R%'G
M'$Q6Q,N,T!,P@&)FM32/=8@^X-<LAH_!'<8B&1[)J.8B$ 4=BR8YH&SXX+NK
MA-N=O=?%F>V7X,RM[P0. :3+++BM"+W#FDN7QLAL;(-72Q/Z"N(J+E<P@![I
M#S 8I%V>/2PNJ/J5#4.F,@HN6:4K[KD,/+P2M$55@(8"_L(]JFX-FM!&>J'
MTH)'=*9V5&-G0>4QM#%@[$2JPB0SAPKQ<JL"?I9F41D7SWR=XIQ$3%61Q+Z]
M(B2K)*8@H-16.J+BU)P""0C*.SBC'LZ3EI"@FF%D@..>6KE6\HM:B%2-9CTR
MB(I3*PW\-LTMF E_ W_7D*B0L0-X$/&L%7I1.HF5, 4+!4$H$!^^2(LA?$J4
MMF,M1$ F\JS!6<8,2A?HD *IDJ \:)"CT#B\1BT&\G)JF)\1YX3:-5<T^LSZ
M<^QW*C]!LYDH##Y#FSS;:MINT7!03B)MBX0A)C"MPF7,)\@D186T5=5V[<M(
M3M!\UW&%V&P P'WS =E2M6H4:UP#5=:X]YI<KUPY3YAW@# /0J\>AUX=6:M[
M&H6^VJ&[(YMK9IT**"_L6&GY'W<"EC]X]W,WG(&P=T+"_ZZDA5/#*N:JFTNI
M6A2:<>6JL(BZ?FYK)?_E4.?A#$4\ FF^I_ ;? 7 S0&;X^4FTG*PP,P'ZVN]
MQ\@Y.F1-UD^.@R<*;3$[1T7"+4Y)\$BH>TG$B".'J9W(0,4S?Z*F9E.]<+Z[
M#=5M  Q,Z(/NX5A0!>SZL7S7U[*#WA;4N2[^O#E^<0U_>@"^28/2>:UR/A+M
M <3%0YLRXX G4SXSA_/:(D? .>9(PZ''[4@E2A_\N-_%GV# 'NI?TST!,MHN
MK?6+NGZ$OG%^^>G16XO=?GEKL;77[_A[BS]])_!HM_.<R':0P%/\""-\4 X4
MD=_*&BZ4D-2$.;8$YW(NXY NBQ!7\L-0VC(!I1-CE8=2!9$(YD#2+*W"5&*>
M!%N[##E7:S;F,58U6MG0TCLLE&R '4QP52 F(4<FUV&Z6_X%9SJP2^=K*.;*
M:Q1WN+N>8MX5 P,X@ACBDM\X(K%T6$#C#3>H(-1!:XH&=X+&(T 2DA3JN7AH
M!*HW6]!@$!9S7V.6C%%(3YJU!#JP\IR@[S4%S^9'(D_,-E:*+ N:'[J Y"H$
MRB)<XQB>4WAF).NL845[6VN/?-Q28:9!)#7)U&$_>X(H7>#41X:NK%.>9*[Y
M0BD-;;]5G/6W.A1GU^4QUF:Z9?&<OTCP$ZS0M=<RD<H1%16 $C1:E,G(\6CA
M+>R@:=;+C9&&B+'(ADI'[IBJ:9G+:D0DNIUZ#+^^70KV70;"630M+1V4<FR]
MZ?1XQ4]<UQ^KJ$C=$ /"!'++UG/E270-=T!!S-S..(&6L0MZ=WGTK=P0RLQ]
M.;AT2I0C&\07ZA"A[\7#!S(CG 7$HP0@* 6U-SVT<%^%%M_/C*#?\W?SKS4C
MV'G)C. :;U)BD6: 6U%M GD_W^[Y(9);.G.C1-]  D#Y\?AB">4CP#WCTCU1
MCC"4-1YYIF]=HD9$5_<]N&O.9Y[7RW0 YRUH]R5W)T.L$%"U9)%",</_J+_+
M )R)D_O;:0B581&&]F*A+N;*8KP1PH>KU$$B1^YK+_^#8;?[UL7OA;'HZ5<.
MM\TMXHRO&&^[+XLW"XV?B[%3O-$7M8N.$BF(+1@A'JHC>"316TC07*AXI'N$
MRU$'-M78@F885>7,%>EECI6\R*0K-X":8T'MIL5)C!!4Y#W3#5<RDMHE'!4)
M;=R=X41"Y1*)R,<0WNO?W;!RI[/YNH&Q]Y+ .(':%:?ANNT2OW$$J6SG(,EY
M'R_5.*YOL(#%:S9?;NJ5IG:3O"# S;"0(QJ6"6QON)ZY6CQ, KOU33-"P?Q=
M]=W%F1_C-[[B0F-(]_T.70V^ZR]SEH51=ZWK%Z&+7S:U*M&J]@)WR92Q!+]#
M$7?8I77S(PAY8@".=]5N&05]2([V5RC@VRP3NIQL1F G2H-S*>]4:O,*PO,E
MWZ%I3"#"Q0G=ND;$>U;[H^Y,?/&;>.<UYA>^O=_P7T[<<%^N_"]02P$"% ,4
M    " "GB7I:S'Y#FQ?. 0#5HQ  $0              @ $     =71M9"TR
M,#(T,3(S,2YH=&U02P$"% ,4    " "GB7I:[U'^H*H5  ! !@$ $0
M        @ %&S@$ =71M9"TR,#(T,3(S,2YX<V102P$"% ,4    " "GB7I:
M/]&I\G /  #OZ0  %0              @ $?Y $ =71M9"TR,#(T,3(S,5]C
M86PN>&UL4$L! A0#%     @ IXEZ6B?$*709&0  Y;$! !4
M ( !PO,! '5T;60M,C R-#$R,S%?9&5F+GAM;%!+ 0(4 Q0    ( *>)>EI7
M4]&H0U4  "HX!  5              "  0X- @!U=&UD+3(P,C0Q,C,Q7VQA
M8BYX;6Q02P$"% ,4    " "GB7I:6"SJC.4V  #S! 0 %0
M@ &$8@( =71M9"TR,#(T,3(S,5]P<F4N>&UL4$L! A0#%     @ IXEZ6O;,
M,T*<-   N#<   T              ( !G)D" '5T;60Q,&M?,2YJ<&=02P$"
M% ,4    " "GB7I:?+1#4@-(  #95@$ #P              @ %CS@( =71M
M9%]E>#$Y>C$N:'1M4$L! A0#%     @ IXEZ6N14BZ#) @  _ \   \
M         ( !DQ8# '5T;61?97@R,7HQ+FAT;5!+ 0(4 Q0    ( *>)>EID
M]4U CP(  ,X&   /              "  8D9 P!U=&UD7V5X,C-Z,2YH=&U0
M2P$"% ,4    " "GB7I:FF6MI-8"   >"   #P              @ %%' ,
M=71M9%]E>#(S>C(N:'1M4$L! A0#%     @ IXEZ6KH55%3Q!@  ?!L   \
M             ( !2!\# '5T;61?97@S,7HQ+FAT;5!+ 0(4 Q0    ( *>)
M>EK5>V0+!@<  /P;   /              "  68F P!U=&UD7V5X,S%Z,BYH
M=&U02P$"% ,4    " "GB7I:^*\9Z6<$  #/#   #P              @ &9
M+0, =71M9%]E>#,R>C$N:'1M4$L! A0#%     @ IXEZ6K7@A"!#!   8PP
M  \              ( !+3(# '5T;61?97@S,GHR+FAT;5!+ 0(4 Q0    (
M *>)>EJO$)U$G@L  &0I   /              "  9TV P!U=&UD7V5X.3=Z
;,2YH=&U02P4&     !  $ #J P  :$(#

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>124
<FILENAME>utmd-20241231_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2024"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2024"
  xmlns:fil="http://www.utahmed.com/20241231"
  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-20241231.xsd" xlink:type="simple"/>
    <context id="Y24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</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="E24Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2024-06-30</instant>
        </period>
    </context>
    <context id="I250325">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2025-03-25</instant>
        </period>
    </context>
    <context id="D241231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-12-31</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="D231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-12-31</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Y23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-10-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="Y24_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>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y24_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>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y24_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>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y24_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>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="E21_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>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_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>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_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>2021-12-31</instant>
        </period>
    </context>
    <context id="E21_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>2021-12-31</instant>
        </period>
    </context>
    <context id="Y22_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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_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>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_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>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_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>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_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>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_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>2022-12-31</instant>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_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>2023-12-31</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="E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_Range-Maximum_PpeByType-BuildingAndBuildingImprovements">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:BuildingAndBuildingImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_Range-Minimum_PpeByType-Equipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_Range-Maximum_PpeByType-Equipment">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-03-31</endDate>
        </period>
    </context>
    <context id="Y24Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="Y24Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-04-01</startDate>
            <endDate>2024-06-30</endDate>
        </period>
    </context>
    <context id="Y24Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2024-07-01</startDate>
            <endDate>2024-09-30</endDate>
        </period>
    </context>
    <context id="Y23Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="Y23Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-04-01</startDate>
            <endDate>2023-06-30</endDate>
        </period>
    </context>
    <context id="Y23Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2023-07-01</startDate>
            <endDate>2023-09-30</endDate>
        </period>
    </context>
    <context id="Y22Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-03-31</endDate>
        </period>
    </context>
    <context id="Y22Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-04-01</startDate>
            <endDate>2022-06-30</endDate>
        </period>
    </context>
    <context id="Y22Q3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-07-01</startDate>
            <endDate>2022-09-30</endDate>
        </period>
    </context>
    <context id="Y22Q4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2022-10-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E24_StGeo-USAndCanada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:USAndCanadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_StGeo-EnglandAndAustralia">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_StGeo-IE">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E23_StGeo-USAndCanada">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:USAndCanadaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StGeo-EnglandAndAustralia">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:EnglandAndAustraliaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_StGeo-IE">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IE</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Y24_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y24_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y23_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="E23_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="E23_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="Y22_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y22_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="E22_Range-Minimum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="E22_Range-Maximum">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="Y24_StScenario-Range1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="E24_StScenario-Range1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y24_StScenario-Range2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="E24_StScenario-Range2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y24_StScenario-Range3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="E24_StScenario-Range3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y24_StScenario-Range4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="E24_StScenario-Range4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:Range4Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y24_ProductOrService-Obstetrics_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Obstetrics_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Obstetrics_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-Neonatal_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Neonatal_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Neonatal_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global">
        <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:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-Global">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:GlobalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-Obstetrics_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Obstetrics_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Obstetrics_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-Neonatal_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-Neonatal_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-Neonatal_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous">
        <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:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_StGeo-Ous">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OusMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-01-01</startDate>
            <endDate>2022-12-31</endDate>
        </period>
    </context>
    <context id="Y24_DistributionRightsAcquisition-CoopersurgicalInc">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="fil:DistributionRightsAcquisitionAxis">fil:CoopersurgicalIncMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y24_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>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="Y23_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>2023-01-01</startDate>
            <endDate>2023-12-31</endDate>
        </period>
    </context>
    <context id="Y22_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>2022-01-01</startDate>
            <endDate>2022-12-31</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="Y24" id="fact1">0000706698</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="Y24" id="fact2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCurrentReportingStatus contextRef="Y24" id="fact3">Yes</dei:EntityCurrentReportingStatus>
    <dei:AmendmentFlag contextRef="Y24" id="fact4">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="Y24" id="fact5">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="Y24" id="fact6">FY</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="Y24" id="ixv-11468">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport contextRef="Y24" id="ixv-11469">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate contextRef="Y24" id="ixv-11470">2024-12-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="Y24" id="ixv-11471">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="Y24" id="ixv-11472">001-12575</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="Y24" id="ixv-11473">UTAH MEDICAL PRODUCTS INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="Y24" id="ixv-11474">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="Y24" id="ixv-11475">87-0342734</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="Y24" id="ixv-11476">7043 South 300 West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="Y24" id="ixv-11477">Midvale</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="Y24" id="ixv-11478">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="Y24" id="ixv-11479">84047</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="Y24" id="ixv-11480">801</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="Y24" id="ixv-11481">566-1200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="Y24" id="ixv-11482">Common stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="Y24" id="ixv-11483">UTMD</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="Y24" id="ixv-11484">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer contextRef="Y24" id="ixv-11485">No</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers contextRef="Y24" id="ixv-11486">No</dei:EntityVoluntaryFilers>
    <dei:EntityInteractiveDataCurrent contextRef="Y24" id="ixv-11487">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="Y24" id="ixv-11488">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="Y24" id="ixv-11489">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="Y24" id="ixv-11490">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag contextRef="Y24" id="ixv-11491">false</dei:IcfrAuditorAttestationFlag>
    <dei:DocumentFinStmtErrorCorrectionFlag contextRef="Y24" id="ixv-11492">false</dei:DocumentFinStmtErrorCorrectionFlag>
    <dei:EntityShellCompany contextRef="Y24" id="ixv-11493">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="E24Q2"
      decimals="INF"
      id="ixv-11494"
      unitRef="USD">216013098</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="I250325"
      decimals="INF"
      id="ixv-11495"
      unitRef="Shares">3281816</dei:EntityCommonStockSharesOutstanding>
    <dei:AuditorName contextRef="Y24" id="ixv-11496">Haynie &amp;amp; Company</dei:AuditorName>
    <dei:AuditorLocation contextRef="Y24" id="ixv-11497">Salt Lake City, Utah</dei:AuditorLocation>
    <dei:AuditorFirmId contextRef="Y24" id="ixv-11498">457</dei:AuditorFirmId>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E24" decimals="-3" id="ixv-11499" unitRef="USD">82976000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E23" decimals="-3" id="ixv-11500" unitRef="USD">92868000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E24" decimals="-3" id="ixv-11501" unitRef="USD">4094000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E23" decimals="-3" id="ixv-11502" unitRef="USD">3391000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet contextRef="E24" decimals="-3" id="ixv-11503" unitRef="USD">8812000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E23" decimals="-3" id="ixv-11504" unitRef="USD">9582000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent contextRef="E24" decimals="-3" id="ixv-11505" unitRef="USD">448000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E23" decimals="-3" id="ixv-11506" unitRef="USD">428000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E24" decimals="-3" id="ixv-11507" unitRef="USD">96330000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E23" decimals="-3" id="ixv-11508" unitRef="USD">106269000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E24" decimals="-3" id="ixv-11509" unitRef="USD">9763000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-11510" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill contextRef="E24" decimals="-3" id="ixv-11511" unitRef="USD">13580000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E23" decimals="-3" id="ixv-11512" unitRef="USD">13692000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E24" decimals="-3" id="ixv-11513" unitRef="USD">53772000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-11514" unitRef="USD">54296000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E24" decimals="-3" id="ixv-11515" unitRef="USD">50907000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E23" decimals="-3" id="ixv-11516" unitRef="USD">49350000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E24" decimals="-3" id="ixv-11517" unitRef="USD">2865000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E23" decimals="-3" id="ixv-11518" unitRef="USD">4946000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Assets contextRef="E24" decimals="-3" id="ixv-11519" unitRef="USD">122538000</us-gaap:Assets>
    <us-gaap:Assets contextRef="E23" decimals="-3" id="ixv-11520" unitRef="USD">135458000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="E24" decimals="-3" id="ixv-11521" unitRef="USD">696000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E23" decimals="-3" id="ixv-11522" unitRef="USD">769000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E24" decimals="-3" id="ixv-11523" unitRef="USD">3061000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-11524" unitRef="USD">3941000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E24" decimals="-3" id="ixv-11525" unitRef="USD">3757000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-11526" unitRef="USD">4710000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="E24" decimals="-3" id="ixv-11527" unitRef="USD">282000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="E23" decimals="-3" id="ixv-11528" unitRef="USD">295000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="E24" decimals="-3" id="ixv-11529" unitRef="USD">0</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="E23" decimals="-3" id="ixv-11530" unitRef="USD">698000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E24" decimals="-3" id="ixv-11531" unitRef="USD">603000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E23" decimals="-3" id="ixv-11532" unitRef="USD">1120000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E24" decimals="-3" id="ixv-11533" unitRef="USD">469000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E23" decimals="-3" id="ixv-11534" unitRef="USD">322000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities contextRef="E24" decimals="-3" id="ixv-11535" unitRef="USD">5111000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E23" decimals="-3" id="ixv-11536" unitRef="USD">7145000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies contextRef="E24" decimals="-3" id="ixv-11537" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies contextRef="E23" decimals="-3" id="ixv-11538" unitRef="USD">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E24"
      decimals="INF"
      id="ixv-11539"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E23"
      decimals="INF"
      id="ixv-11540"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E24"
      decimals="-3"
      id="ixv-11541"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E23"
      decimals="-3"
      id="ixv-11542"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="E24"
      decimals="-3"
      id="ixv-11543"
      unitRef="Shares">3335000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E24"
      decimals="-3"
      id="ixv-11544"
      unitRef="Shares">3335000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="E23"
      decimals="-3"
      id="ixv-11545"
      unitRef="Shares">3630000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E23"
      decimals="-3"
      id="ixv-11546"
      unitRef="Shares">3630000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue contextRef="E24" decimals="-3" id="ixv-11547" unitRef="USD">33000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="E23" decimals="-3" id="ixv-11548" unitRef="USD">36000</us-gaap:CommonStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E24" decimals="-3" id="ixv-11549" unitRef="USD">-11908000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E23" decimals="-3" id="ixv-11550" unitRef="USD">-10658000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E24" decimals="-3" id="ixv-11551" unitRef="USD">0</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E23" decimals="-3" id="ixv-11552" unitRef="USD">594000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E24" decimals="-3" id="ixv-11553" unitRef="USD">129302000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E23" decimals="-3" id="ixv-11554" unitRef="USD">138341000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="E24" decimals="-3" id="ixv-11555" unitRef="USD">117427000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E23" decimals="-3" id="ixv-11556" unitRef="USD">128313000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E24" decimals="-3" id="ixv-11557" unitRef="USD">122538000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E23" decimals="-3" id="ixv-11558" unitRef="USD">135458000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y24" decimals="-3" id="ixv-11559" unitRef="USD">40903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y23" decimals="-3" id="ixv-11560" unitRef="USD">50224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="Y22" decimals="-3" id="ixv-11561" unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y24" decimals="-3" id="ixv-11562" unitRef="USD">16760000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y23" decimals="-3" id="ixv-11563" unitRef="USD">20186000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="Y22" decimals="-3" id="ixv-11564" unitRef="USD">20085000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="Y24" decimals="-3" id="ixv-11565" unitRef="USD">24143000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y23" decimals="-3" id="ixv-11566" unitRef="USD">30038000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="Y22" decimals="-3" id="ixv-11567" unitRef="USD">32196000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense contextRef="Y24" decimals="-3" id="ixv-11568" unitRef="USD">1901000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y23" decimals="-3" id="ixv-11569" unitRef="USD">1685000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="Y22" decimals="-3" id="ixv-11570" unitRef="USD">1507000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y24" decimals="-3" id="ixv-11571" unitRef="USD">813000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y23" decimals="-3" id="ixv-11572" unitRef="USD">560000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="Y22" decimals="-3" id="ixv-11573" unitRef="USD">493000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y24" decimals="-3" id="ixv-11574" unitRef="USD">7835000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y23" decimals="-3" id="ixv-11575" unitRef="USD">11016000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="Y22" decimals="-3" id="ixv-11576" unitRef="USD">10406000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss contextRef="Y24" decimals="-3" id="ixv-11577" unitRef="USD">13594000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y23" decimals="-3" id="ixv-11578" unitRef="USD">16777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="Y22" decimals="-3" id="ixv-11579" unitRef="USD">19790000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y24" decimals="-3" id="ixv-11580" unitRef="USD">3367000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y23" decimals="-3" id="ixv-11581" unitRef="USD">3036000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome contextRef="Y22" decimals="-3" id="ixv-11582" unitRef="USD">661000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y24" decimals="-3" id="ixv-11583" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y23" decimals="-3" id="ixv-11584" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" id="ixv-11585" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y24" decimals="-3" id="ixv-11586" unitRef="USD">-174000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y23" decimals="-3" id="ixv-11587" unitRef="USD">256000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="Y22" decimals="-3" id="ixv-11588" unitRef="USD">188000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y24" decimals="-3" id="ixv-11589" unitRef="USD">16802000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y23" decimals="-3" id="ixv-11590" unitRef="USD">20089000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" id="ixv-11591" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y24" decimals="-3" id="ixv-11592" unitRef="USD">2928000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-11593" unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-11594" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss contextRef="Y24" decimals="-3" id="ixv-11595" unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-11596" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-11597" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y24"
      decimals="INF"
      id="ixv-11598"
      unitRef="UsdPerShare">3.96</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-11599"
      unitRef="UsdPerShare">4.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-11600"
      unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24"
      decimals="INF"
      id="ixv-11601"
      unitRef="UsdPerShare">3.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23"
      decimals="INF"
      id="ixv-11602"
      unitRef="UsdPerShare">4.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22"
      decimals="INF"
      id="ixv-11603"
      unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y24Q4"
      decimals="INF"
      id="ixv-11604"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y23Q4"
      decimals="INF"
      id="ixv-11605"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y24"
      decimals="INF"
      id="ixv-11606"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y23"
      decimals="INF"
      id="ixv-11607"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y24" decimals="-3" id="ixv-11608" unitRef="USD">-1249000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y23" decimals="-3" id="ixv-11609" unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" id="ixv-11610" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y24" decimals="-3" id="ixv-11611" unitRef="USD">12625000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y23" decimals="-3" id="ixv-11612" unitRef="USD">18016000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="Y22" decimals="-3" id="ixv-11613" unitRef="USD">13487000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss contextRef="Y24" decimals="-3" id="ixv-11614" unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-11615" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-11616" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation contextRef="Y24" decimals="-3" id="ixv-11617" unitRef="USD">730000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y23" decimals="-3" id="ixv-11618" unitRef="USD">623000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="Y22" decimals="-3" id="ixv-11619" unitRef="USD">612000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y24" decimals="-3" id="ixv-11620" unitRef="USD">2065000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y23" decimals="-3" id="ixv-11621" unitRef="USD">5692000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="Y22" decimals="-3" id="ixv-11622" unitRef="USD">6417000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y24" decimals="-3" id="ixv-11623" unitRef="USD">-4000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y23" decimals="-3" id="ixv-11624" unitRef="USD">-33000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="Y22" decimals="-3" id="ixv-11625" unitRef="USD">30000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y24" decimals="-3" id="ixv-11626" unitRef="USD">51000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y23" decimals="-3" id="ixv-11627" unitRef="USD">53000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="Y22" decimals="-3" id="ixv-11628" unitRef="USD">53000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y24" decimals="-3" id="ixv-11629" unitRef="USD">-359000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y23" decimals="-3" id="ixv-11630" unitRef="USD">-693000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-11631" unitRef="USD">-401000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation contextRef="Y24" decimals="-3" id="ixv-11632" unitRef="USD">256000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y23" decimals="-3" id="ixv-11633" unitRef="USD">225000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="Y22" decimals="-3" id="ixv-11634" unitRef="USD">183000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y24" decimals="-3" id="ixv-11635" unitRef="USD">21000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y23" decimals="-3" id="ixv-11636" unitRef="USD">12000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised contextRef="Y22" decimals="-3" id="ixv-11637" unitRef="USD">6000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y24" decimals="-3" id="ixv-11638" unitRef="USD">835000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y23" decimals="-3" id="ixv-11639" unitRef="USD">-2270000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="Y22" decimals="-3" id="ixv-11640" unitRef="USD">511000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y24" decimals="-3" id="ixv-11641" unitRef="USD">-54000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y23" decimals="-3" id="ixv-11642" unitRef="USD">0</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables contextRef="Y22" decimals="-3" id="ixv-11643" unitRef="USD">14000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y24" decimals="-3" id="ixv-11644" unitRef="USD">-587000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y23" decimals="-3" id="ixv-11645" unitRef="USD">670000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories contextRef="Y22" decimals="-3" id="ixv-11646" unitRef="USD">2353000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y24" decimals="-3" id="ixv-11647" unitRef="USD">32000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y23" decimals="-3" id="ixv-11648" unitRef="USD">-45000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="Y22" decimals="-3" id="ixv-11649" unitRef="USD">64000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y24" decimals="-3" id="ixv-11650" unitRef="USD">-73000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y23" decimals="-3" id="ixv-11651" unitRef="USD">-456000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable contextRef="Y22" decimals="-3" id="ixv-11652" unitRef="USD">464000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y24" decimals="-3" id="ixv-11653" unitRef="USD">-1504000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y23" decimals="-3" id="ixv-11654" unitRef="USD">-1422000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="Y22" decimals="-3" id="ixv-11655" unitRef="USD">252000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y24" decimals="-3" id="ixv-11656" unitRef="USD">14831000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y23" decimals="-3" id="ixv-11657" unitRef="USD">22281000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="Y22" decimals="-3" id="ixv-11658" unitRef="USD">21147000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y24" decimals="-3" id="ixv-11659" unitRef="USD">230000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y23" decimals="-3" id="ixv-11660" unitRef="USD">639000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="Y22" decimals="-3" id="ixv-11661" unitRef="USD">809000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y24" decimals="-3" id="ixv-11662" unitRef="USD">5000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y23" decimals="-3" id="ixv-11663" unitRef="USD">0</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:PaymentsToAcquireIntangibleAssets contextRef="Y22" decimals="-3" id="ixv-11664" unitRef="USD">9000</us-gaap:PaymentsToAcquireIntangibleAssets>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y24" decimals="-3" id="ixv-11665" unitRef="USD">27000</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y23" decimals="-3" id="ixv-11666" unitRef="USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment contextRef="Y22" decimals="-3" id="ixv-11667" unitRef="USD">0</us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y24" decimals="-3" id="ixv-11668" unitRef="USD">-208000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y23" decimals="-3" id="ixv-11669" unitRef="USD">-639000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="Y22" decimals="-3" id="ixv-11670" unitRef="USD">-818000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y24" decimals="-3" id="ixv-11671" unitRef="USD">390000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y23" decimals="-3" id="ixv-11672" unitRef="USD">117000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock contextRef="Y22" decimals="-3" id="ixv-11673" unitRef="USD">174000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y24" decimals="-3" id="ixv-11674" unitRef="USD">19968000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y23" decimals="-3" id="ixv-11675" unitRef="USD">0</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="Y22" decimals="-3" id="ixv-11676" unitRef="USD">2495000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividends contextRef="Y24" decimals="-3" id="ixv-11677" unitRef="USD">4260000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y23" decimals="-3" id="ixv-11678" unitRef="USD">4282000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends contextRef="Y22" decimals="-3" id="ixv-11679" unitRef="USD">3163000</us-gaap:PaymentsOfDividends>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y24" decimals="-3" id="ixv-11680" unitRef="USD">-23838000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y23" decimals="-3" id="ixv-11681" unitRef="USD">-4165000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="Y22" decimals="-3" id="ixv-11682" unitRef="USD">-5484000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y24" decimals="-3" id="ixv-11683" unitRef="USD">-677000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y23" decimals="-3" id="ixv-11684" unitRef="USD">339000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="Y22" decimals="-3" id="ixv-11685" unitRef="USD">-767000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y24" decimals="-3" id="ixv-11686" unitRef="USD">-9892000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y23" decimals="-3" id="ixv-11687" unitRef="USD">17816000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="Y22" decimals="-3" id="ixv-11688" unitRef="USD">14078000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E23" decimals="-3" id="ixv-11689" unitRef="USD">92868000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E22" decimals="-3" id="ixv-11690" unitRef="USD">75052000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E21" decimals="-3" id="ixv-11691" unitRef="USD">60974000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E24" decimals="-3" id="ixv-11692" unitRef="USD">82976000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E23" decimals="-3" id="ixv-11693" unitRef="USD">92868000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E22" decimals="-3" id="ixv-11694" unitRef="USD">75052000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid contextRef="Y24" decimals="-3" id="ixv-11695" unitRef="USD">4638000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y23" decimals="-3" id="ixv-11696" unitRef="USD">4827000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="Y22" decimals="-3" id="ixv-11697" unitRef="USD">4970000</us-gaap:IncomeTaxesPaid>
    <us-gaap:InterestPaid contextRef="Y24" decimals="-3" id="ixv-11698" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y23" decimals="-3" id="ixv-11699" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:InterestPaid contextRef="Y22" decimals="-3" id="ixv-11700" unitRef="USD">0</us-gaap:InterestPaid>
    <us-gaap:SharesOutstanding
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11701"
      unitRef="Shares">3655000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11702"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11703"
      unitRef="USD">842000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11704"
      unitRef="USD">-9053000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E21_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11705"
      unitRef="USD">115314000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E21" decimals="-3" id="ixv-11706" unitRef="USD">107138000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11707"
      unitRef="Shares">4000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11708"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11709"
      unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11710"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11711"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y22" decimals="-3" id="ixv-11712" unitRef="USD">211000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11713"
      unitRef="Shares">-1000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptionsShares>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11714"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11715"
      unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11716"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11717"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y22" decimals="-3" id="ixv-11718" unitRef="USD">-37000</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11719"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11720"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11721"
      unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11722"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11723"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y22" decimals="-3" id="ixv-11724" unitRef="USD">183000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11725"
      unitRef="Shares">-30000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11726"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11727"
      unitRef="USD">-947000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11728"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11729"
      unitRef="USD">-1548000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y22" decimals="-3" id="ixv-11730" unitRef="USD">-2495000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11731"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11732"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11733"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11734"
      unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11735"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y22" decimals="-3" id="ixv-11736" unitRef="USD">-2986000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11737"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11738"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11739"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11740"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11741"
      unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y22" decimals="-3" id="ixv-11742" unitRef="USD">4233000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11743"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11744"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11745"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11746"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11747"
      unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-11748" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11749"
      unitRef="Shares">3628000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11750"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11751"
      unitRef="USD">252000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11752"
      unitRef="USD">-12039000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E22_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11753"
      unitRef="USD">126006000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E22" decimals="-3" id="ixv-11754" unitRef="USD">114255000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11755"
      unitRef="Shares">2000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11756"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11757"
      unitRef="USD">117000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11758"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11759"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y23" decimals="-3" id="ixv-11760" unitRef="USD">117000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11761"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11762"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11763"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11764"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11765"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions contextRef="Y23" decimals="-3" id="ixv-11766" unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11767"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11768"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11769"
      unitRef="USD">225000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11770"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11771"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y23" decimals="-3" id="ixv-11772" unitRef="USD">225000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11773"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11774"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11775"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11776"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11777"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y23" decimals="-3" id="ixv-11778" unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11779"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11780"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11781"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11782"
      unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11783"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y23" decimals="-3" id="ixv-11784" unitRef="USD">1381000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11785"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11786"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11787"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11788"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11789"
      unitRef="USD">4300000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y23" decimals="-3" id="ixv-11790" unitRef="USD">4300000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11791"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11792"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11793"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11794"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11795"
      unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-11796" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11797"
      unitRef="Shares">3630000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11798"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11799"
      unitRef="USD">594000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11800"
      unitRef="USD">-10658000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E23_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11801"
      unitRef="USD">138341000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E23" decimals="-3" id="ixv-11802" unitRef="USD">128313000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11803"
      unitRef="Shares">8000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11804"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11805"
      unitRef="USD">390000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11806"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11807"
      unitRef="USD">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="Y24" decimals="-3" id="ixv-11808" unitRef="USD">390000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11809"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11810"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11811"
      unitRef="USD">256000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11812"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11813"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense contextRef="Y24" decimals="-3" id="ixv-11814" unitRef="USD">256000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11815"
      unitRef="Shares">-302000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11816"
      unitRef="USD">-3000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11817"
      unitRef="USD">-1239000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11818"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11819"
      unitRef="USD">-18726000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue contextRef="Y24" decimals="-3" id="ixv-11820" unitRef="USD">-19968000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11821"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11822"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11823"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11824"
      unitRef="USD">-1249000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11825"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="Y24" decimals="-3" id="ixv-11826" unitRef="USD">-1249000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11827"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11828"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11829"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11830"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11831"
      unitRef="USD">4189000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash contextRef="Y24" decimals="-3" id="ixv-11832" unitRef="USD">4189000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11833"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11834"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11835"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11836"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11837"
      unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y24" decimals="-3" id="ixv-11838" unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11839"
      unitRef="Shares">3335000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-11840"
      unitRef="USD">33000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-11841"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-11842"
      unitRef="USD">-11907000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-11843"
      unitRef="USD">129302000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E24" decimals="-3" id="ixv-11844" unitRef="USD">117428000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SignificantAccountingPoliciesTextBlock contextRef="Y24" id="ixv-6254">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 1 &#x2013;&#160;Summary of Significant Accounting Policies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Organization&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Utah Medical Products, Inc. with headquarters in Midvale, Utah and its wholly-owned operating subsidiaries, Femcare Limited located in Romsey, Hampshire, England, Femcare Australia Pty Ltd located in Castle Hill, NSW, Australia, Utah Medical Products Canada, Inc. (dba Femcare Canada) located in Mississauga, Ontario, Canada and Utah Medical Products Ltd., which operates a manufacturing facility in Athlone, Ireland, (in the aggregate, the Company) are in the primary business of developing, manufacturing and globally distributing specialized medical devices for the healthcare industry. &#160;The Company&#x2019;s broad range of products includes those used in critical care areas and the labor and delivery departments of hospitals, as well as outpatient clinics and physicians&#x2019; offices. &#160;Products are sold directly to end-user facilities in the U.S., Ireland, UK, Canada, France and Australia, and through third party distributors in other outside the U.S. (OUS) markets. &#160;Domestically, until February 1, 2019, Femcare Ltd had an exclusive U.S. distribution relationship with CooperSurgical, Inc. (CSI) for the Filshie Clip System. &#160;UTMD also sells subcontract manufactured components and finished products to over 120 companies in the U.S. for their medical and non-medical products.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Principles of Consolidation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December&#160;31, 2024 except under an extreme global financial crisis.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).&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-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Inventories&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt"&gt;Building and improvements&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"&gt;15-40 years&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt"&gt;Furniture, equipment and tooling&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"&gt;3-10 years&lt;/kbd&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-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Long-Lived Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#x201c;Accounting for the Impairment of Long-Lived Assets.&#x201d; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp;amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#x2019;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2024, using the 2024 year-end 1.2521 USD/GBP and 0.6183 USD/AUD currency exchange rates, is about $1,935 in 2025, $426 in 2026, $14 in 2027, $11 in 2028, and $10 in 2029 (see note 2). &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;In 2019, $21,000 in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized in 2023 (see note 15). &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation &lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;At December 31, 2024, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, &lt;i&gt;Share-Based Payment&lt;/i&gt;. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2024, the Company recognized $255 in stock-based compensation cost compared to $225 in 2023 and $183 in 2022. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#x2019;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#x2019;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;other companies. &#160;This revenue is recognized when UTMD&#x2019;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for income taxes under ASC 740, &#x201c;Accounting for Income Taxes,&#x201d; whereby deferred taxes are computed under the asset and liability method. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company accounts for deferred taxes under ASC 740, &#x201c;Accounting for Income Taxes&#x201d;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#x2019;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2024, 2023 or 2022.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Legal Costs&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2024 and 2023 was $111 and $257, respectively (see note 2).&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The shares (in thousands) used in the computation of the Company&#x2019;s basic and diluted earnings per share are reconciled as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt" 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:52pt"&gt;3,629&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt" 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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Dilutive effect of stock options&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right"&gt;&#160;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt;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:52pt"&gt;8&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt;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:52pt"&gt;6&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding, assuming dilution&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,643&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Presentation of Sales and Similar Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2024 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Translation of Foreign Currencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#x2019;s assets and liabilities are reflected as a separate component of stockholders&#x2019; equity. &#160;A negative translation impact on stockholders&#x2019; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, 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;Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year.&lt;/p&gt;
</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates contextRef="Y24" id="ixv-6260">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Use of Estimates in the Preparation of Financial Statements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The preparation of financial statements in conformity with accounting principles generally accepted in the United States of America requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. &#160;Although actual results could differ from those estimates, management believes it has considered and disclosed all relevant information in making its estimates that materially affect reported performance and current values.&lt;/p&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:ConsolidationPolicyTextBlock contextRef="Y24" id="ixv-6264">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Principles of Consolidation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The consolidated financial statements include those of the Company and its subsidiaries. &#160;All intercompany accounts and transactions have been eliminated in consolidation.&lt;/p&gt;
</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="Y24" id="ixv-6268">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;For purposes of the consolidated statement of cash flows, the Company considers cash on deposit and short-term investments with original maturities of three months or less to be cash and cash equivalents.&lt;/p&gt;
</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ConcentrationRiskDisclosureTextBlock contextRef="Y24" id="ixv-6272">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The primary concentration of credit risk consists of trade receivables. &#160;In the normal course of business, the Company provides credit terms to its customers. &#160;Accordingly, the Company performs ongoing credit evaluations of its customers and maintains allowances for possible losses which, when realized, have been within the range of management's expectations as reflected by its reserves. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company's customer base consists of hospitals, medical device distributors, physician practices and others directly related to healthcare providers, as well as other manufacturing companies. Although the Company is affected by the well-being of the global healthcare industry, management does not believe significant trade receivable credit risk exists at December&#160;31, 2024 except under an extreme global financial crisis.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company maintains its cash in bank deposit accounts in addition to Fidelity Investment money market accounts. &#160;The Company has not experienced any losses in such accounts and believes it is not exposed to a significant credit risk on cash and cash equivalent balances.&lt;/p&gt;
</us-gaap:ConcentrationRiskDisclosureTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="Y24" id="ixv-6278">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Accounts Receivable&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable are amounts due on product sales and are unsecured. &#160;Accounts receivable are carried at their estimated collectible amounts. &#160;Credit is generally extended on a short-term basis; thus, accounts receivable do not bear interest although a late charge may be applied to such receivables that are past the due date. &#160;Accounts receivable are periodically evaluated for collectability based on past credit history of customers and current market conditions. Provisions for losses on accounts receivable are determined on the basis of loss experience, known and inherent risk in the account balance and current economic conditions (see note 2).&lt;/p&gt;
</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:InventoryPolicyTextBlock contextRef="Y24" id="ixv-6295">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Inventories&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products, work-in-process, raw materials and supplies inventories are stated at the lower of cost and net realizable value (NRV) computed on a first-in, first-out method. &#160;Net realizable value is the estimated selling price in the ordinary course of business, less reasonably predictable costs of completion, disposal, and transportation (see note 2).&lt;/p&gt;
</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="Y24" id="ixv-6299">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment are stated at cost. &#160;Depreciation and amortization are computed using the straight-line method over estimated useful lives as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt"&gt;Building and improvements&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"&gt;15-40 years&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:54pt"&gt;Furniture, equipment and tooling&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:387pt"&gt;3-10 years&lt;/kbd&gt;&#160;&lt;/p&gt;
</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E24_Range-Minimum_PpeByType-BuildingAndBuildingImprovements"
      id="ixv-11845">P15Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E24_Range-Maximum_PpeByType-BuildingAndBuildingImprovements"
      id="ixv-11846">P40Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E24_Range-Minimum_PpeByType-Equipment"
      id="ixv-11847">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="E24_Range-Maximum_PpeByType-Equipment"
      id="ixv-11848">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock contextRef="Y24" id="ixv-6310">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Long-Lived Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluates its long-lived assets in accordance with Accounting Standards Codification (ASC) 360, &#x201c;Accounting for the Impairment of Long-Lived Assets.&#x201d; &#160;Long-lived assets held and used by the Company are reviewed for impairment whenever events or changes in circumstances indicate that their net book value may not be recoverable. When such factors and circumstances exist, the Company compares the projected undiscounted future cash flows associated with the related asset or group of assets over their estimated useful lives against their respective carrying amounts. &#160;Impairment, if any, is based on the excess of the carrying amount over the fair value of those assets and is recorded in the period in which the determination was made.&lt;/p&gt;
</us-gaap:ImpairmentOrDisposalOfLongLivedAssetsPolicyTextBlock>
    <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock contextRef="Y24" id="ixv-6314">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Intangible Assets&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Costs associated with the acquisition of patents, trademarks, trade names, customer relationships, regulatory approvals &amp;amp; product certifications, license rights and non-compete agreements are capitalized, and are being amortized using the straight-line method over periods ranging from 5 to 20 years. UTMD&#x2019;s goodwill is tested for impairment annually, in the fourth quarter of each year, in accordance with ASC 350. UTMD also performs impairment tests contemporaneously, if circumstances change that would more than likely reduce the fair value of goodwill below its net book value. &#160;If UTMD determines that its goodwill is impaired, a second step is completed to measure the amount of the impairment loss. UTMD does not expect its goodwill to become impaired in the foreseeable future. &#160;Estimated future amortization expenses on intangible assets held as of December 31, 2024, using the 2024 year-end 1.2521 USD/GBP and 0.6183 USD/AUD currency exchange rates, is about $1,935 in 2025, $426 in 2026, $14 in 2027, $11 in 2028, and $10 in 2029 (see note 2). &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;In 2019, $21,000 in intangible assets were acquired from CSI. &#160;This intangible asset was fully amortized in 2023 (see note 15). &lt;/p&gt;
</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="E24_Range-Minimum" id="ixv-11849">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="E24_Range-Maximum" id="ixv-11850">P20Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD
      contextRef="E24"
      decimals="INF"
      id="ixv-11851"
      unitRef="Pure">1.2521</fil:ForeignCurrencyExchangeRateTranslationGBPtoUSD>
    <fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD
      contextRef="E24"
      decimals="INF"
      id="ixv-11852"
      unitRef="Pure">0.6183</fil:ForeignCurrencyExchangeRateTranslationAUDtoUSD>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="E24" decimals="-3" id="ixv-11853" unitRef="USD">1935000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="E24" decimals="-3" id="ixv-11854" unitRef="USD">426000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="E24" decimals="-3" id="ixv-11855" unitRef="USD">14000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="E24" decimals="-3" id="ixv-11856" unitRef="USD">11000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="E24" decimals="-3" id="ixv-11857" unitRef="USD">10000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="Y19Q1_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      id="ixv-11858"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="Y24" id="ixv-6319">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation &lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;At December 31, 2024, the Company has stock-based employee compensation plans, which are described more fully in note 8. &#160;The Company accounts for stock compensation under ASC 718, &lt;i&gt;Share-Based Payment&lt;/i&gt;. &#160;This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. In 2024, the Company recognized $255 in stock-based compensation cost compared to $225 in 2023 and $183 in 2022. &#160;&lt;/p&gt;
</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y24" decimals="-3" id="ixv-11859" unitRef="USD">255000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y23" decimals="-3" id="ixv-11860" unitRef="USD">225000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" id="ixv-11861" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="Y24" id="ixv-6324">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Revenue Recognition&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company recognizes revenue at the time of product shipment as UTMD meets its contractual performance obligations to the customer at the time of shipment. Revenue recognized by UTMD is based upon the consideration to which UTMD is entitled from its customers as a result of shipping a physical product, in accordance with the documented arrangements and fixed contracts in which the selling price was fixed prior to the Company&#x2019;s acceptance of an order. Revenue from service sales, which are immaterial to UTMD, is generally recognized when the service is completed and invoiced. As demonstrated by decades of experience in successful and consistent collections, there is very minor and insignificant uncertainty regarding the collectability of invoiced amounts reasonably within the terms of the Company&#x2019;s contracts. There are circumstances under which insignificant revenue may be recognized when product is not shipped, which meet the criteria of ASC 606: the Company provides engineering services, for example, design and production of manufacturing tooling that may be used in subsequent UTMD manufacturing of custom components for &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;other companies. &#160;This revenue is recognized when UTMD&#x2019;s performance obligations have been completed according to a fixed contractual agreement. &#160;UTMD includes handling fees charged to customers in revenues. &#160;&lt;/p&gt;
</us-gaap:RevenueRecognitionPolicyTextBlock>
    <us-gaap:IncomeTaxPolicyTextBlock contextRef="Y24" id="ixv-6342">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Income Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company accounts for income taxes under ASC 740, &#x201c;Accounting for Income Taxes,&#x201d; whereby deferred taxes are computed under the asset and liability method. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company accounts for deferred taxes under ASC 740, &#x201c;Accounting for Income Taxes&#x201d;, which requires that all deferred income taxes are classified as noncurrent in a classified statement of financial position.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The TCJA contains a deemed repatriation transition tax (REPAT tax) on accumulated earnings and profits of the Company&#x2019;s non-U.S. subsidiaries that have not been subject to U.S. tax. &#160;The Company has elected to pay its net REPAT tax over eight years. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company or one of its subsidiaries files income tax returns in the U.S. federal jurisdiction, in Utah, in the United Kingdom, in Australia, in Ireland and in Canada. &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company recognizes interest accrued related to unrecognized tax benefits in interest expense and any related penalties in income taxes. The Company did not recognize any tax-related interest expense or have any tax penalties in 2024, 2023 or 2022.&lt;/p&gt;
</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:LegalCostsPolicyTextBlock contextRef="Y24" id="ixv-6350">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Legal Costs&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of business. &#160;The Company maintains a reserve for legal costs which are probable and estimated based on previous experience and known risk. &#160;The reserve for legal costs at December 31, 2024 and 2023 was $111 and $257, respectively (see note 2).&lt;/p&gt;
</us-gaap:LegalCostsPolicyTextBlock>
    <us-gaap:LitigationReserve contextRef="E24" decimals="-3" id="ixv-11864" unitRef="USD">111000</us-gaap:LitigationReserve>
    <us-gaap:LitigationReserve contextRef="E23" decimals="-3" id="ixv-11865" unitRef="USD">257000</us-gaap:LitigationReserve>
    <us-gaap:EarningsPerSharePolicyTextBlock contextRef="Y24" id="ixv-6354">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Earnings per Share&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The computation of basic earnings per common share is based on the weighted average number of shares outstanding during each year. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The computation of earnings per common share assuming dilution is based on the weighted average number of shares outstanding during the year plus the weighted average common stock equivalents which would arise from the exercise of stock options outstanding using the treasury stock method and the average market price per share during the year.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The shares (in thousands) used in the computation of the Company&#x2019;s basic and diluted earnings per share are reconciled as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt" 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:52pt"&gt;3,629&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt" 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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Dilutive effect of stock options&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right"&gt;&#160;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt;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:52pt"&gt;8&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt;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:52pt"&gt;6&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding, assuming dilution&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,643&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="Y24" id="ixv-11866">&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding &#x2013;&#160;basic&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt" 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:52pt"&gt;3,629&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt" 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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Dilutive effect of stock options&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:12pt;text-align:right"&gt;&#160;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.8pt;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:52pt"&gt;8&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:64.35pt;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:52pt"&gt;6&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:282.95pt" valign="top"&gt;&lt;p style="font:8pt Times New Roman;margin:0"&gt;&lt;span style="font-size:10pt"&gt;Weighted average number of shares outstanding, assuming dilution&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:3pt"&gt;&lt;kbd style="margin-left:36pt"&gt;&lt;/kbd&gt;3,503&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:62.8pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,637&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:64.35pt;border-top:0.5pt solid #000000;border-bottom:3px double #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:52pt"&gt;3,643&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y24"
      decimals="-3"
      id="ixv-11867"
      unitRef="Shares">3503000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="-3"
      id="ixv-11868"
      unitRef="Shares">3629000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="-3"
      id="ixv-11869"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y24"
      decimals="-3"
      id="ixv-11870"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y23"
      decimals="-3"
      id="ixv-11871"
      unitRef="Shares">8000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y22"
      decimals="-3"
      id="ixv-11872"
      unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y24"
      decimals="-3"
      id="ixv-11873"
      unitRef="Shares">3503000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y23"
      decimals="-3"
      id="ixv-11874"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y22"
      decimals="-3"
      id="ixv-11875"
      unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <fil:PresentationOfSalesAndSimilarTaxesTextBlock contextRef="Y24" id="ixv-6417">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Presentation of Sales and Similar Taxes&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales tax on revenue-producing transactions is recorded as a liability when the sale occurs. &#160;UTMD is not required to withhold sales tax on OUS sales, and at least 90% of domestic 2024 sales were to customers who are tax exempt or who are in jurisdictions where UTMD is not required to withhold sales tax.&lt;/p&gt;
</fil:PresentationOfSalesAndSimilarTaxesTextBlock>
    <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock contextRef="Y24" id="ixv-6421">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Translation of Foreign Currencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Assets and liabilities of the Company&#x2019;s foreign subsidiaries are translated into U.S. dollars at the applicable exchange rates at year-end. &#160;Net gains or losses resulting from the translation of the Company&#x2019;s assets and liabilities are reflected as a separate component of stockholders&#x2019; equity. &#160;A negative translation impact on stockholders&#x2019; equity reflects a current relative U.S. Dollar value higher than at the point in time that assets were actually acquired in a foreign currency. &#160;A positive translation impact would result from a U.S. dollar weaker in value than at the point in time foreign assets were acquired. &#160;Year-end translation gains or losses of non-functional currency bank account balances, e.g. EUR and AUD balances held by the UK subsidiary, are recognized as non-operating income or expense, 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;Income and expense items are translated at the weighted average rate of exchange (based on when transactions actually occurred) during the year.&lt;/p&gt;
</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
    <us-gaap:SupplementalBalanceSheetDisclosuresTextBlock contextRef="Y24" id="ixv-6440">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 2 &#x2013;&#160;Detail of Certain Balance Sheet Accounts&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:130.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="width:256.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts and other receivables:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;4,239&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,488&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued interest and other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;(2)&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:62.9pt" 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:48pt"&gt;53&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;(143)&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:62.9pt;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:48pt"&gt;(151)&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total accounts and other receivables&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;4,094&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,390&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;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="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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventories:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;1,913&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;1,685&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,414&#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:62.9pt" 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:48pt"&gt;1,503&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;5,485&#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:62.9pt;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:48pt"&gt;6,394&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total inventories&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;8,812&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;9,582&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;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="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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Goodwill:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Balance as of January 1&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;13,692&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;13,354&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Effect of foreign exchange&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;(112)&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:62.9pt" 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:48pt"&gt;338&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Subtractions as a result of impairment&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;-&#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:62.9pt;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:48pt"&gt;-&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total Goodwill as of December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;13,580&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;13,692&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;border-top:3px double #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="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:62.9pt;border-top:3px double #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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Patents&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;2,210&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;2,209&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Non-compete agreements&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;125&#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:62.9pt" 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:48pt"&gt;127&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Trademarks &amp;amp; trade names&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;9,205&#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:62.9pt" 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:48pt"&gt;9,360&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Customer relationships&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;8,952&#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:62.9pt" 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:48pt"&gt;9,108&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Distribution agreements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;21,000&#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:62.9pt" 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:48pt"&gt;21,000&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Right-of-Use Asset&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;338&#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:62.9pt" 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:48pt"&gt;342&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Regulatory approvals &amp;amp; product certifications&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;11,942&#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:62.9pt;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:48pt"&gt;12,150&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total Other Identifiable Intangible Assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;53,772&#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:62.9pt;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:48pt"&gt;54,296&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;(50,907)&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:62.9pt;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:48pt"&gt;(49,350)&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets, Net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;2,865&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;4,946&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt" 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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued expenses:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income taxes payable (receivable)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;(153)&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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;327&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Payroll and payroll taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,148&#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:62.9pt" 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:48pt"&gt;1,294&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Reserve for litigation costs&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;111&#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:62.9pt" 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:48pt"&gt;257&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,955&#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:62.9pt;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:48pt"&gt;2,063&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total accrued expenses&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;3,061&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,941&#160;&lt;/kbd&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;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</us-gaap:SupplementalBalanceSheetDisclosuresTextBlock>
    <srt:ScheduleOfCondensedBalanceSheetTableTextBlock contextRef="Y24" id="ixv-6443">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:130.95pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="width:256.55pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts and other receivables:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accounts receivable&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;4,239&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,488&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued interest and other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;(2)&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:62.9pt" 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:48pt"&gt;53&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;(143)&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:62.9pt;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:48pt"&gt;(151)&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total accounts and other receivables&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;4,094&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,390&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;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="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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventories:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished products&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;1,913&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;1,685&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,414&#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:62.9pt" 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:48pt"&gt;1,503&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;5,485&#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:62.9pt;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:48pt"&gt;6,394&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total inventories&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;8,812&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;9,582&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;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="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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Goodwill:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Balance as of January 1&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;13,692&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;13,354&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Effect of foreign exchange&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;(112)&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:62.9pt" 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:48pt"&gt;338&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Subtractions as a result of impairment&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;-&#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:62.9pt;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:48pt"&gt;-&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total Goodwill as of December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;13,580&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;13,692&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt;border-top:3px double #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="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:62.9pt;border-top:3px double #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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Patents&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;2,210&#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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;2,209&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Non-compete agreements&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;125&#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:62.9pt" 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:48pt"&gt;127&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Trademarks &amp;amp; trade names&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;9,205&#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:62.9pt" 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:48pt"&gt;9,360&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Customer relationships&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;8,952&#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:62.9pt" 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:48pt"&gt;9,108&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Distribution agreements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;21,000&#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:62.9pt" 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:48pt"&gt;21,000&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Right-of-Use Asset&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;338&#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:62.9pt" 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:48pt"&gt;342&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Regulatory approvals &amp;amp; product certifications&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;11,942&#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:62.9pt;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:48pt"&gt;12,150&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total Other Identifiable Intangible Assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;53,772&#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:62.9pt;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:48pt"&gt;54,296&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;(50,907)&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:62.9pt;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:48pt"&gt;(49,350)&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Identifiable Intangible Assets, Net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;2,865&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;4,946&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.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:13pt" 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:56.25pt" 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:62.9pt;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="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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="3" style="background-color:#D3F0FE;width:256.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued expenses:&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.25pt" 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: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:62.9pt" 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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income taxes payable (receivable)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;(153)&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:62.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;327&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Payroll and payroll taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,148&#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:62.9pt" 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:48pt"&gt;1,294&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" valign="top"&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:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Reserve for litigation costs&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.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:45pt"&gt;111&#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:62.9pt" 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:48pt"&gt;257&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:27.05pt" valign="top"&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:#D3F0FE;width:229.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13pt" 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:56.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:45pt"&gt;1,955&#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:62.9pt;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:48pt"&gt;2,063&#160;&lt;/kbd&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;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:27.05pt" 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:27pt" 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:202.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total accrued expenses&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13pt" 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:56.25pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:45pt"&gt;3,061&#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:62.9pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:4pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:48pt"&gt;3,941&#160;&lt;/kbd&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;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
</srt:ScheduleOfCondensedBalanceSheetTableTextBlock>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E24" decimals="-3" id="ixv-11880" unitRef="USD">4239000</us-gaap:AccountsReceivableGrossCurrent>
    <us-gaap:AccountsReceivableGrossCurrent contextRef="E23" decimals="-3" id="ixv-11881" unitRef="USD">3488000</us-gaap:AccountsReceivableGrossCurrent>
    <fil:AccruedInterestAndOther contextRef="E24" decimals="-3" id="ixv-11882" unitRef="USD">-2000</fil:AccruedInterestAndOther>
    <fil:AccruedInterestAndOther contextRef="E23" decimals="-3" id="ixv-11883" unitRef="USD">53000</fil:AccruedInterestAndOther>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E24" decimals="-3" id="ixv-11884" unitRef="USD">143000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="E23" decimals="-3" id="ixv-11885" unitRef="USD">151000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E24" decimals="-3" id="ixv-11886" unitRef="USD">4094000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:AccountsAndOtherReceivablesNetCurrent contextRef="E23" decimals="-3" id="ixv-11887" unitRef="USD">3390000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E24" decimals="-3" id="ixv-11888" unitRef="USD">1913000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E23" decimals="-3" id="ixv-11889" unitRef="USD">1685000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcess contextRef="E24" decimals="-3" id="ixv-11890" unitRef="USD">1414000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E23" decimals="-3" id="ixv-11891" unitRef="USD">1503000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryRawMaterials contextRef="E24" decimals="-3" id="ixv-11892" unitRef="USD">5485000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E23" decimals="-3" id="ixv-11893" unitRef="USD">6394000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet contextRef="E24" decimals="-3" id="ixv-11894" unitRef="USD">8812000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E23" decimals="-3" id="ixv-11895" unitRef="USD">9582000</us-gaap:InventoryNet>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="D241231"
      decimals="-3"
      id="ixv-11896"
      unitRef="USD">-112000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss
      contextRef="D231231"
      decimals="-3"
      id="ixv-11897"
      unitRef="USD">338000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="D241231"
      decimals="-3"
      id="ixv-11898"
      unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:GoodwillImpairmentLoss
      contextRef="D231231"
      decimals="-3"
      id="ixv-11899"
      unitRef="USD">0</us-gaap:GoodwillImpairmentLoss>
    <us-gaap:Goodwill contextRef="E24" decimals="-3" id="ixv-11900" unitRef="USD">13580000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E23" decimals="-3" id="ixv-11901" unitRef="USD">13692000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedPatentsGross contextRef="E24" decimals="-3" id="ixv-11902" unitRef="USD">2210000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedPatentsGross contextRef="E23" decimals="-3" id="ixv-11903" unitRef="USD">2209000</us-gaap:FiniteLivedPatentsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E24" decimals="-3" id="ixv-11904" unitRef="USD">125000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedNoncompeteAgreementsGross contextRef="E23" decimals="-3" id="ixv-11905" unitRef="USD">127000</us-gaap:FiniteLivedNoncompeteAgreementsGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E24" decimals="-3" id="ixv-11906" unitRef="USD">9205000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedTrademarksGross contextRef="E23" decimals="-3" id="ixv-11907" unitRef="USD">9360000</us-gaap:FiniteLivedTrademarksGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E24" decimals="-3" id="ixv-11908" unitRef="USD">8952000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:FiniteLivedCustomerRelationshipsGross contextRef="E23" decimals="-3" id="ixv-11909" unitRef="USD">9108000</us-gaap:FiniteLivedCustomerRelationshipsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E24" decimals="-3" id="ixv-11910" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OtherFiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-11911" unitRef="USD">21000000</us-gaap:OtherFiniteLivedIntangibleAssetsGross>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E24" decimals="-3" id="ixv-11912" unitRef="USD">338000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E23" decimals="-3" id="ixv-11913" unitRef="USD">342000</us-gaap:OperatingLeaseRightOfUseAsset>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E24" decimals="-3" id="ixv-11914" unitRef="USD">11942000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross contextRef="E23" decimals="-3" id="ixv-11915" unitRef="USD">12150000</fil:FiniteLivedRegulatoryApprovalsAndProductCertificationsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E24" decimals="-3" id="ixv-11916" unitRef="USD">53772000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E23" decimals="-3" id="ixv-11917" unitRef="USD">54296000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E24" decimals="-3" id="ixv-11918" unitRef="USD">50907000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E23" decimals="-3" id="ixv-11919" unitRef="USD">49350000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E24" decimals="-3" id="ixv-11920" unitRef="USD">2865000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="E23" decimals="-3" id="ixv-11921" unitRef="USD">4946000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <fil:AccruedIncomeTaxesPayableReceivable contextRef="E24" decimals="-3" id="ixv-11922" unitRef="USD">-153000</fil:AccruedIncomeTaxesPayableReceivable>
    <fil:AccruedIncomeTaxesPayableReceivable contextRef="E23" decimals="-3" id="ixv-11923" unitRef="USD">327000</fil:AccruedIncomeTaxesPayableReceivable>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E24" decimals="-3" id="ixv-11924" unitRef="USD">1148000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-11925" unitRef="USD">1294000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E24" decimals="-3" id="ixv-11926" unitRef="USD">111000</us-gaap:LitigationReserveCurrent>
    <us-gaap:LitigationReserveCurrent contextRef="E23" decimals="-3" id="ixv-11927" unitRef="USD">257000</us-gaap:LitigationReserveCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E24" decimals="-3" id="ixv-11928" unitRef="USD">1955000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-11929" unitRef="USD">2063000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E24" decimals="-3" id="ixv-11930" unitRef="USD">3061000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E23" decimals="-3" id="ixv-11931" unitRef="USD">3941000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:QuarterlyFinancialInformationTextBlock contextRef="Y24" id="ixv-7113">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 3 &#x2013;&#160;Quarterly Results of Operations (Unaudited)&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"&gt;11,340&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"&gt;10,400&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;10,005&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;9,157&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:50pt"&gt;6,766&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;6,253&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;5,802&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;5,323&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;width:180pt" 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:72pt" 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:50pt"&gt;3,956&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:66pt"&gt;3,453&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;3,563&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;2,902&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:50pt"&gt;1.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;0.98&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.03&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;0.86&lt;/kbd&gt;&#160;&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;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"&gt;12,520&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"&gt;12,866&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,505&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,333&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:50pt"&gt;7,843&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;7,739&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;7,359&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;7,098&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;width:180pt" 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:72pt" 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:50pt"&gt;4,214&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:66pt"&gt;4,200&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;3,935&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;4,287&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:50pt"&gt;1.16&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;1.15&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.08&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;1.18&lt;/kbd&gt;&#160;&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;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"&gt;12,323&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;13,428&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,955&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;13,575&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:54pt"&gt;7,533&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:61pt"&gt;8,151&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;8,186&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;8,327&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;width:180pt" 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:72pt" 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:54pt"&gt;3,534&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:61pt"&gt;4,103&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;4,280&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;4,555&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:54pt"&gt;0.96&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:61pt"&gt;1.12&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;1.25&lt;/kbd&gt;&#160;&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;
</us-gaap:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock contextRef="Y24" id="ixv-7116">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"&gt;11,340&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"&gt;10,400&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;10,005&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;9,157&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:50pt"&gt;6,766&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;6,253&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;5,802&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;5,323&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;width:180pt" 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:72pt" 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:50pt"&gt;3,956&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:66pt"&gt;3,453&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;3,563&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;2,902&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:50pt"&gt;1.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;0.98&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.03&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;0.86&lt;/kbd&gt;&#160;&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;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:50pt"&gt;12,520&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:66pt"&gt;12,866&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,505&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,333&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:50pt"&gt;7,843&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;7,739&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;7,359&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;7,098&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;width:180pt" 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:72pt" 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:50pt"&gt;4,214&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:66pt"&gt;4,200&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;3,935&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;4,287&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:50pt"&gt;1.16&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:66pt"&gt;1.15&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.08&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;1.18&lt;/kbd&gt;&#160;&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;table style="border-collapse:collapse"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:302.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Unaudited Quarterly Data for 2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;First Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Second Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Third Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Fourth Quarter&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Sales &#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:54pt"&gt;12,323&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;13,428&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;12,955&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:58pt"&gt;13,575&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" 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="width:72pt" 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:54pt"&gt;7,533&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:61pt"&gt;8,151&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;8,186&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;8,327&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;width:180pt" 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:72pt" 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:54pt"&gt;3,534&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:78.8pt" 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:61pt"&gt;4,103&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.75pt" 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:58pt"&gt;4,280&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:75.85pt" 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:58pt"&gt;4,555&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings Per Common Share (Diluted)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72pt" 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:54pt"&gt;0.96&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:78.8pt" 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:61pt"&gt;1.12&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.75pt" 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:58pt"&gt;1.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:75.85pt" 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:58pt"&gt;1.25&lt;/kbd&gt;&#160;&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;
</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24Q1"
      decimals="-3"
      id="ixv-11932"
      unitRef="USD">11340000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24Q2"
      decimals="-3"
      id="ixv-11933"
      unitRef="USD">10400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24Q3"
      decimals="-3"
      id="ixv-11934"
      unitRef="USD">10005000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24Q4"
      decimals="-3"
      id="ixv-11935"
      unitRef="USD">9157000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y24Q1"
      decimals="-3"
      id="ixv-11936"
      unitRef="USD">6766000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y24Q2"
      decimals="-3"
      id="ixv-11937"
      unitRef="USD">6253000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y24Q3"
      decimals="-3"
      id="ixv-11938"
      unitRef="USD">5802000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y24Q4"
      decimals="-3"
      id="ixv-11939"
      unitRef="USD">5323000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y24Q1"
      decimals="-3"
      id="ixv-11940"
      unitRef="USD">3956000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24Q2"
      decimals="-3"
      id="ixv-11941"
      unitRef="USD">3453000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24Q3"
      decimals="-3"
      id="ixv-11942"
      unitRef="USD">3563000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y24Q4"
      decimals="-3"
      id="ixv-11943"
      unitRef="USD">2902000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24Q1"
      decimals="INF"
      id="ixv-11944"
      unitRef="UsdPerShare">1.09</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24Q2"
      decimals="INF"
      id="ixv-11945"
      unitRef="UsdPerShare">0.98</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24Q3"
      decimals="INF"
      id="ixv-11946"
      unitRef="UsdPerShare">1.03</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24Q4"
      decimals="INF"
      id="ixv-11947"
      unitRef="UsdPerShare">0.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-11948"
      unitRef="USD">12520000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-11949"
      unitRef="USD">12866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-11950"
      unitRef="USD">12505000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-11951"
      unitRef="USD">12333000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-11952"
      unitRef="USD">7843000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-11953"
      unitRef="USD">7739000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-11954"
      unitRef="USD">7359000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-11955"
      unitRef="USD">7098000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y23Q1"
      decimals="-3"
      id="ixv-11956"
      unitRef="USD">4214000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q2"
      decimals="-3"
      id="ixv-11957"
      unitRef="USD">4200000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q3"
      decimals="-3"
      id="ixv-11958"
      unitRef="USD">3935000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23Q4"
      decimals="-3"
      id="ixv-11959"
      unitRef="USD">4287000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q1"
      decimals="INF"
      id="ixv-11960"
      unitRef="UsdPerShare">1.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q2"
      decimals="INF"
      id="ixv-11961"
      unitRef="UsdPerShare">1.15</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q3"
      decimals="INF"
      id="ixv-11962"
      unitRef="UsdPerShare">1.08</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23Q4"
      decimals="INF"
      id="ixv-11963"
      unitRef="UsdPerShare">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-11964"
      unitRef="USD">12323000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-11965"
      unitRef="USD">13428000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-11966"
      unitRef="USD">12955000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-11967"
      unitRef="USD">13575000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-11968"
      unitRef="USD">7533000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-11969"
      unitRef="USD">8151000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-11970"
      unitRef="USD">8186000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-11971"
      unitRef="USD">8327000</us-gaap:GrossProfit>
    <us-gaap:ProfitLoss
      contextRef="Y22Q1"
      decimals="-3"
      id="ixv-11972"
      unitRef="USD">3534000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q2"
      decimals="-3"
      id="ixv-11973"
      unitRef="USD">4103000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q3"
      decimals="-3"
      id="ixv-11974"
      unitRef="USD">4280000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22Q4"
      decimals="-3"
      id="ixv-11975"
      unitRef="USD">4555000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q1"
      decimals="INF"
      id="ixv-11976"
      unitRef="UsdPerShare">0.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q2"
      decimals="INF"
      id="ixv-11977"
      unitRef="UsdPerShare">1.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q3"
      decimals="INF"
      id="ixv-11978"
      unitRef="UsdPerShare">1.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22Q4"
      decimals="INF"
      id="ixv-11979"
      unitRef="UsdPerShare">1.25</us-gaap:EarningsPerShareDiluted>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="Y24" id="ixv-7394">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 4 &#x2013;&#160;Property and Equipment&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;Property and equipment consists of the following:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:6.52%" 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:55.32%" 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:38.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:6.52%" 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:55.32%" 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:18.32%" 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:3.04%" 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:16.78%" 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 colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,604&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,638&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,539&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,907&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;18,527&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;17,315&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,413&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:6.52%" 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:55.32%" 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:#D3F0FE;width:18.32%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;33,689&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;34,273&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,926)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,722)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;9,763&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;10,551&#160;&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;Included in the Company&#x2019;s consolidated balance sheet are the assets of its manufacturing and administrative facilities in Utah, Canada, England, Australia and Ireland. &#160;Property and equipment, by geographic area, are as follows:&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:100.08%"&gt;&lt;tr&gt;&lt;td style="width:37.02%" 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:2.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:60.54%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Canada&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Australia&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Ireland&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Total&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" 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:2.44%" 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:17.04%" 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:15.58%" 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.14%" 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:14.76%" 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&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;621&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;627&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;356&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,604&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,576&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,101&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,862&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,539&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;15,842&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;710&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,975&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;18,527&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" 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:#D3F0FE;width:2.44%" 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:17.04%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;23,058&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,438&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,193&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;33,689&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18,930)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,587)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3,409)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,926)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,128&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,851&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,784&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;9,763&#160;&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;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:37.3%" 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:3.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:59.7%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Canada&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Australia&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Ireland&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Total&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;621&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;637&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;380&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,638&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,584&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,194&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,129&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,907&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;15,075&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;732&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,508&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;17,315&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;913&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;497&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,413&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" 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:#D3F0FE;width:3.02%" 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:15.12%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;23,193&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,566&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,514&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;34,273&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18,701)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,464)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3,557)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,722)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,492&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,102&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,957&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;10,551&#160;&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;
</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="Y24" id="ixv-7398">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:6.52%" 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:55.32%" 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:38.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:6.52%" 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:55.32%" 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:18.32%" 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:3.04%" 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:16.78%" 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 colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,604&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,638&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,539&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,907&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;18,527&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;17,315&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,413&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:6.52%" 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:55.32%" 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:#D3F0FE;width:18.32%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;33,689&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;34,273&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.32%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,926)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.04%" 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:16.78%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,722)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td colspan="2" style="background-color:#D3F0FE;width:61.86%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.32%;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;9,763&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.04%" 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:16.78%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;10,551&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:Land contextRef="E24" decimals="-3" id="ixv-11980" unitRef="USD">1604000</us-gaap:Land>
    <us-gaap:Land contextRef="E23" decimals="-3" id="ixv-11981" unitRef="USD">1638000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E24" decimals="-3" id="ixv-11982" unitRef="USD">13539000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23" decimals="-3" id="ixv-11983" unitRef="USD">13907000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E24" decimals="-3" id="ixv-11984" unitRef="USD">18527000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-11985" unitRef="USD">17315000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross contextRef="E24" decimals="-3" id="ixv-11986" unitRef="USD">19000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E23" decimals="-3" id="ixv-11987" unitRef="USD">1413000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E24" decimals="-3" id="ixv-11988" unitRef="USD">33689000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-11989" unitRef="USD">34273000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E24" decimals="-3" id="ixv-11990" unitRef="USD">23926000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23" decimals="-3" id="ixv-11991" unitRef="USD">23722000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E24" decimals="-3" id="ixv-11992" unitRef="USD">9763000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-11993" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <fil:PropertyPlantAndEquipmentByLocationTextBlock contextRef="Y24" id="ixv-7497">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100.08%"&gt;&lt;tr&gt;&lt;td style="width:37.02%" 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:2.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:60.54%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Canada&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Australia&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Ireland&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Total&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" 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:2.44%" 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:17.04%" 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:15.58%" 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.14%" 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:14.76%" 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&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;621&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;627&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;356&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,604&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,576&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,101&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,862&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,539&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;15,842&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;710&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,975&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;18,527&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;19&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" 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:#D3F0FE;width:2.44%" 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:17.04%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;23,058&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,438&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,193&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;33,689&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.44%" 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:17.04%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18,930)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.58%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,587)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3,409)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.76%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,926)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.44%" 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:17.04%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,128&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.58%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,851&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,784&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.76%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;9,763&#160;&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;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:37.3%" 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:3.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:59.7%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31, 2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;U.S. &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Canada&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;England &amp;amp;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Australia&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Ireland&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Total&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Land&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;621&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;637&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;380&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;1,638&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Buildings and improvements&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,584&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,194&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,129&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;13,907&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Furniture, equipment and tooling&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;15,075&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;732&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,508&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;17,315&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Construction-in-progress&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;913&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;497&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,413&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" 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:#D3F0FE;width:3.02%" 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:15.12%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;23,193&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;4,566&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;6,514&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;34,273&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accumulated depreciation&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:3.02%" 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:15.12%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18,701)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.96%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,464)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.44%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3,557)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.16%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(23,722)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:37.3%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Property and equipment, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:3.02%" 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:15.12%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,492&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.96%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,102&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.44%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,957&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:15.16%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;10,551&#160;&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;
</fil:PropertyPlantAndEquipmentByLocationTextBlock>
    <us-gaap:Land
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-11994"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-11995"
      unitRef="USD">627000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-11996"
      unitRef="USD">356000</us-gaap:Land>
    <us-gaap:Land contextRef="E24" decimals="-3" id="ixv-11997" unitRef="USD">1604000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-11998"
      unitRef="USD">6576000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-11999"
      unitRef="USD">3101000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12000"
      unitRef="USD">3862000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E24" decimals="-3" id="ixv-12001" unitRef="USD">13539000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12002"
      unitRef="USD">15842000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12003"
      unitRef="USD">710000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12004"
      unitRef="USD">1975000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E24" decimals="-3" id="ixv-12005" unitRef="USD">18527000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12006"
      unitRef="USD">19000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12007"
      unitRef="USD">0</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12008"
      unitRef="USD">0</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E24" decimals="-3" id="ixv-12009" unitRef="USD">19000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12010"
      unitRef="USD">23058000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12011"
      unitRef="USD">4438000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12012"
      unitRef="USD">6193000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E24" decimals="-3" id="ixv-12013" unitRef="USD">33689000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12014"
      unitRef="USD">18930000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12015"
      unitRef="USD">1587000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12016"
      unitRef="USD">3409000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E24" decimals="-3" id="ixv-12017" unitRef="USD">23926000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E24_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12018"
      unitRef="USD">4128000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E24_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12019"
      unitRef="USD">2851000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E24_StGeo-IE"
      decimals="-3"
      id="ixv-12020"
      unitRef="USD">2784000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E24" decimals="-3" id="ixv-12021" unitRef="USD">9763000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Land
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12024"
      unitRef="USD">621000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12025"
      unitRef="USD">637000</us-gaap:Land>
    <us-gaap:Land
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12026"
      unitRef="USD">380000</us-gaap:Land>
    <us-gaap:Land contextRef="E23" decimals="-3" id="ixv-12027" unitRef="USD">1638000</us-gaap:Land>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12028"
      unitRef="USD">6584000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12029"
      unitRef="USD">3194000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12030"
      unitRef="USD">4129000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:BuildingsAndImprovementsGross contextRef="E23" decimals="-3" id="ixv-12031" unitRef="USD">13907000</us-gaap:BuildingsAndImprovementsGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12032"
      unitRef="USD">15075000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12033"
      unitRef="USD">732000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12034"
      unitRef="USD">1508000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:MachineryAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-12035" unitRef="USD">17315000</us-gaap:MachineryAndEquipmentGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12036"
      unitRef="USD">913000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12037"
      unitRef="USD">3000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12038"
      unitRef="USD">497000</us-gaap:ConstructionInProgressGross>
    <us-gaap:ConstructionInProgressGross contextRef="E23" decimals="-3" id="ixv-12039" unitRef="USD">1413000</us-gaap:ConstructionInProgressGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12040"
      unitRef="USD">23193000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12041"
      unitRef="USD">4566000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12042"
      unitRef="USD">6514000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross contextRef="E23" decimals="-3" id="ixv-12043" unitRef="USD">34273000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12044"
      unitRef="USD">18701000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12045"
      unitRef="USD">1464000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12046"
      unitRef="USD">3557000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment contextRef="E23" decimals="-3" id="ixv-12047" unitRef="USD">23722000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-USAndCanada"
      decimals="-3"
      id="ixv-12048"
      unitRef="USD">4492000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-EnglandAndAustralia"
      decimals="-3"
      id="ixv-12049"
      unitRef="USD">3102000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E23_StGeo-IE"
      decimals="-3"
      id="ixv-12050"
      unitRef="USD">2957000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E23" decimals="-3" id="ixv-12051" unitRef="USD">10551000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:LongTermDebtTextBlock contextRef="Y24" id="ixv-7764">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 5 &#x2013;&#160;Long-term Debt&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;None in 2023 and 2024.&lt;/p&gt;
</us-gaap:LongTermDebtTextBlock>
    <us-gaap:LongTermDebt
      contextRef="E24"
      decimals="INF"
      id="ixv-12052"
      unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="E23"
      decimals="INF"
      id="ixv-12053"
      unitRef="USD">0</us-gaap:LongTermDebt>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="Y24" id="ixv-7769">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 6 &#x2013;&#160;Commitments and Contingencies&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Purchase Obligations&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has obligations to purchase raw materials for use in its manufacturing operations. &#160;The Company has the right to make changes in, among other things, purchase quantities, delivery schedules and order acceptance.&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;&lt;span style="border-bottom:1px solid #000000"&gt;Product Liability&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company is self-insured for product liability risk. &#x201c;Product liability&#x201d; is an insurance industry term for the cost of legal defense and damages awarded to patients allegedly injured as a result of use of a company&#x2019;s product. &#160;The Company maintains a reserve to cover product liability litigation expenses and possible damages consistent with its experience going back decades. Although product liability litigation expenses at $2,139 in 2024, $1,660 in 2023 and $670 in 2022 were high relative to history, they were not material to overall consolidated financial results. &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 Company absorbs the costs of clinical training and trouble-shooting in its on-going operating 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;&lt;span style="border-bottom:1px solid #000000"&gt;Warranty Reserve &lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;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; &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 are immaterial, no warranty reserve was made at December 31, 2024 or December 31, 2023. &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;&lt;span style="border-bottom:1px solid #000000"&gt;Litigation &#160;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company has been involved in lawsuits which are an expected consequence of its operations and in the ordinary course of a medical device business. Presently, except for Filshie clip lawsuits, there is no litigation or threatened litigation where UTMD is a defendant. The Company expects that the outcome of the Filshie clip litigation will not be material to overall consolidated financial results. The Company applies its accounting policy to accrue legal costs that can be reasonably estimated.&lt;/p&gt;
</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <fil:LitigationExpense contextRef="Y24" decimals="-3" id="ixv-12054" unitRef="USD">2139000</fil:LitigationExpense>
    <fil:LitigationExpense contextRef="Y23" decimals="-3" id="ixv-12055" unitRef="USD">1660000</fil:LitigationExpense>
    <fil:LitigationExpense contextRef="Y22" decimals="-3" id="ixv-12056" unitRef="USD">670000</fil:LitigationExpense>
    <us-gaap:ProductWarrantyAccrual
      contextRef="E24"
      decimals="INF"
      id="ixv-12057"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="E23"
      decimals="INF"
      id="ixv-12058"
      unitRef="USD">0</us-gaap:ProductWarrantyAccrual>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="Y24" id="ixv-7799">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 7 &#x2013;&#160;Income Taxes &#160;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;Deferred tax assets (liabilities) consist of the following temporary differences:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:53.18%" 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:2.8%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:44.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventory write-downs and differences due to UNICAP&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;270&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;110&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;103&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;29&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;31&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;39&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued liabilities and reserves&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;50&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;90&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;90&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Depreciation and amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,451)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,673)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(2,295)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred income taxes, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(1,102)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(1,442)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(2,063)&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;The components of income tax expense are as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:53.2%" 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:2.8%" 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:44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.2%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.2%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Current&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,268&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,075&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,632&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.2%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(340)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(621)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(446)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.2%" 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:#D3F0FE;width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,928&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,454&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,186&#160;&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;Income tax expense differed from amounts computed by applying the statutory federal rate to pretax income as follows:&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:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" 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:2.8%" 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:44.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Federal income tax expense at the statutory rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,794&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,346&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,620&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;State income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;504&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;439&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;490&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign income taxes (blended rate)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;951&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,129&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;R&amp;amp;D tax credits and manufacturing profit deduction&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Tax-exempt income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(201)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(195)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Change in Rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(150)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(84)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(50)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,928&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,454&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,186&#160;&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;The domestic and foreign components of income before income tax expense were as follows: &#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:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" 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:2.8%" 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:43.98%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.1%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.22%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;13,306&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;11,170&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.1%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;12,475&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.94%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,496&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;8,919&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.1%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;8,184&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.22%" 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:#D3F0FE;width:2.8%" 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:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;16,802&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;20,089&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.1%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;20,659&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock contextRef="Y24" id="ixv-7803">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:53.18%" 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:2.8%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="4" style="width:44.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Inventory write-downs and differences due to UNICAP&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;270&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;110&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;103&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Allowance for doubtful accounts&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;29&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;31&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;39&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Accrued liabilities and reserves&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;50&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;90&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;90&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Depreciation and amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,451)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1,673)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(2,295)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred income taxes, net&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(1,102)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(1,442)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;(2,063)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E24" decimals="-3" id="ixv-12059" unitRef="USD">270000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E23" decimals="-3" id="ixv-12060" unitRef="USD">110000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsInventory contextRef="E22" decimals="-3" id="ixv-12061" unitRef="USD">103000</us-gaap:DeferredTaxAssetsInventory>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E24" decimals="-3" id="ixv-12062" unitRef="USD">29000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E23" decimals="-3" id="ixv-12063" unitRef="USD">31000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts contextRef="E22" decimals="-3" id="ixv-12064" unitRef="USD">39000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAllowanceForDoubtfulAccounts>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E24" decimals="-3" id="ixv-12065" unitRef="USD">50000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E23" decimals="-3" id="ixv-12066" unitRef="USD">90000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities contextRef="E22" decimals="-3" id="ixv-12067" unitRef="USD">90000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsAccruedLiabilities>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E24" decimals="-3" id="ixv-12068" unitRef="USD">1451000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E23" decimals="-3" id="ixv-12069" unitRef="USD">1673000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <fil:DeferredTaxLiabilitiesDepreciationAndAmortization contextRef="E22" decimals="-3" id="ixv-12070" unitRef="USD">2295000</fil:DeferredTaxLiabilitiesDepreciationAndAmortization>
    <us-gaap:DeferredTaxLiabilities contextRef="E24" decimals="-3" id="ixv-12071" unitRef="USD">1102000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E23" decimals="-3" id="ixv-12072" unitRef="USD">1442000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:DeferredTaxLiabilities contextRef="E22" decimals="-3" id="ixv-12073" unitRef="USD">2063000</us-gaap:DeferredTaxLiabilities>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock contextRef="Y24" id="ixv-7884">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr&gt;&lt;td style="width:53.2%" 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:2.8%" 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:44%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.2%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.2%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Current&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,268&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,075&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,632&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:53.2%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Deferred&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(340)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(621)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(446)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:53.2%" 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:#D3F0FE;width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,928&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,454&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,186&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="D241231"
      decimals="-3"
      id="ixv-12074"
      unitRef="USD">3268000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="D231231"
      decimals="-3"
      id="ixv-12075"
      unitRef="USD">4075000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-12076" unitRef="USD">4632000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <fil:DeferredIncomeTaxExpense
      contextRef="D241231"
      decimals="-3"
      id="ixv-12077"
      unitRef="USD">-340000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense
      contextRef="D231231"
      decimals="-3"
      id="ixv-12078"
      unitRef="USD">-621000</fil:DeferredIncomeTaxExpense>
    <fil:DeferredIncomeTaxExpense contextRef="Y22" decimals="-3" id="ixv-12079" unitRef="USD">-446000</fil:DeferredIncomeTaxExpense>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D241231"
      decimals="-3"
      id="ixv-12080"
      unitRef="USD">2928000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D231231"
      decimals="-3"
      id="ixv-12081"
      unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-12082" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="Y24" id="ixv-7943">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" 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:2.8%" 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:44.02%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Federal income tax expense at the statutory rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,794&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,346&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,620&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;State income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;504&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;439&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;490&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign income taxes (blended rate)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(1)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;951&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;1,129&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;R&amp;amp;D tax credits and manufacturing profit deduction&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(18)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(3)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Tax-exempt income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(201)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(195)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Change in Rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;-&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(150)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.92%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(84)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.18%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(50)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.18%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;2,928&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.92%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;3,454&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.18%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;4,186&#160;&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;
</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="D241231"
      decimals="-3"
      id="ixv-12083"
      unitRef="USD">2794000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="D231231"
      decimals="-3"
      id="ixv-12084"
      unitRef="USD">2346000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate contextRef="Y22" decimals="-3" id="ixv-12085" unitRef="USD">2620000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="D241231"
      decimals="-3"
      id="ixv-12086"
      unitRef="USD">504000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="D231231"
      decimals="-3"
      id="ixv-12087"
      unitRef="USD">439000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes contextRef="Y22" decimals="-3" id="ixv-12088" unitRef="USD">490000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="D241231"
      decimals="-3"
      id="ixv-12089"
      unitRef="USD">-1000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential
      contextRef="D231231"
      decimals="-3"
      id="ixv-12090"
      unitRef="USD">951000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential contextRef="Y22" decimals="-3" id="ixv-12091" unitRef="USD">1129000</us-gaap:IncomeTaxReconciliationForeignIncomeTaxRateDifferential>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="D241231"
      decimals="-3"
      id="ixv-12092"
      unitRef="USD">18000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="D231231"
      decimals="-3"
      id="ixv-12093"
      unitRef="USD">3000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch contextRef="Y22" decimals="-3" id="ixv-12094" unitRef="USD">3000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:InterestIncomeSecuritiesTaxExempt
      contextRef="D241231"
      decimals="-3"
      id="ixv-12095"
      unitRef="USD">201000</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <us-gaap:InterestIncomeSecuritiesTaxExempt
      contextRef="D231231"
      decimals="-3"
      id="ixv-12096"
      unitRef="USD">195000</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <us-gaap:InterestIncomeSecuritiesTaxExempt contextRef="Y22" decimals="-3" id="ixv-12097" unitRef="USD">0</us-gaap:InterestIncomeSecuritiesTaxExempt>
    <fil:AdjustmentToDeferredTaxLiability
      contextRef="D241231"
      decimals="-3"
      id="ixv-12098"
      unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability
      contextRef="D231231"
      decimals="-3"
      id="ixv-12099"
      unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <fil:AdjustmentToDeferredTaxLiability contextRef="Y22" decimals="-3" id="ixv-12100" unitRef="USD">0</fil:AdjustmentToDeferredTaxLiability>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="D241231"
      decimals="-3"
      id="ixv-12101"
      unitRef="USD">-150000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="D231231"
      decimals="-3"
      id="ixv-12102"
      unitRef="USD">-84000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments contextRef="Y22" decimals="-3" id="ixv-12103" unitRef="USD">-50000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D241231"
      decimals="-3"
      id="ixv-12104"
      unitRef="USD">2928000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D231231"
      decimals="-3"
      id="ixv-12105"
      unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="Y22" decimals="-3" id="ixv-12106" unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock contextRef="Y24" id="ixv-8057">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" 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:2.8%" 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:43.98%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" valign="top"&gt;&lt;/td&gt;&lt;td style="width:2.8%" 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:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.1%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.22%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:2.8%" 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:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;13,306&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.94%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;11,170&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.1%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;12,475&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:53.22%" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Foreign&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:2.8%" 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:14.94%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;3,496&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.94%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;8,919&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:14.1%;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;8,184&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:53.22%" 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:#D3F0FE;width:2.8%" 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:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;16,802&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.94%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;20,089&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:14.1%;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;20,659&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="D241231"
      decimals="-3"
      id="ixv-12107"
      unitRef="USD">13306000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="D231231"
      decimals="-3"
      id="ixv-12108"
      unitRef="USD">11170000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic contextRef="Y22" decimals="-3" id="ixv-12109" unitRef="USD">12475000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="D241231"
      decimals="-3"
      id="ixv-12110"
      unitRef="USD">3496000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="D231231"
      decimals="-3"
      id="ixv-12111"
      unitRef="USD">8919000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign contextRef="Y22" decimals="-3" id="ixv-12112" unitRef="USD">8184000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D241231"
      decimals="-3"
      id="ixv-12113"
      unitRef="USD">16802000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D231231"
      decimals="-3"
      id="ixv-12114"
      unitRef="USD">20089000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="Y22" decimals="-3" id="ixv-12115" unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="Y24" id="ixv-8122">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 8 &#x2013;&#160;Options&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company has stock option plans which authorize the grant of stock options to eligible employees, directors and other individuals to purchase up to an aggregate of 275 thousand shares of common stock, of which 98 thousand are outstanding as of December 31, 2024. &#160;All options granted under the plans are granted at current market value at the date of grant, and may be exercised between six months and ten years following the date of grant. &#160;The plans are intended to advance the interest of the Company by attracting and ensuring retention of competent directors, employees and executive personnel, and to provide incentives to those individuals to devote their utmost efforts to the advancement of stockholder value. &#160;Changes in stock options were as follows:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:256.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:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&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 colspan="3" style="width:166.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;(000&#x2019;s)&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:166.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Per Share&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;25&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;64.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;64.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;98&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:74.45pt" 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:61pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52&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:74.45pt" 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:61pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;77.07&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;77.07&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.4&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:74.45pt" 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:61pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;84&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;50&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;67&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;40&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&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;For the years ended December 31, 2024, 2023 and 2022, the Company reduced current income taxes payable by $20, $12 and $6, respectively, for the income tax benefit attributable to sale by optionees of common stock received upon the exercise of stock options.&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;&lt;span style="border-bottom:1px solid #000000"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In 2024, the Company recognized $255 in equity compensation cost, compared to $225 in 2023 and $183 in 2022.&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 fair value of each option grant is estimated on the date of grant using the Black-Scholes option pricing model with the following weighted average assumptions:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:247.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:18pt" 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:216.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.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:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&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;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected dividend amount per quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&#160;0.3150&#160;&#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;text-align:right"&gt;$&#160;0.3090&#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&#160;0.3050&#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected stock price volatility&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;31.21%&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;text-align:right"&gt;&#160;31.67%&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;29.87%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Risk-free interest rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;4.23%&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;text-align:right"&gt;&#160;4.75%&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;4.09%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected life of options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.8 years&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;text-align:right"&gt;5.6 years&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.7 years&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;The per share weighted average fair value of options granted during 2024 is $19.77, 2023 is $25.09 and in 2022 is $25.34.  &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&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;All UTMD options vest over a four-year service period. &#160;At December 31, 2024 there was $898 total unrecognized compensation expense related to non-vested stock options under the plans. A $329 portion of the cost is expected to be recognized over the next twelve months, and the remaining $570 recognized over the next 4 years. Expected dividend amounts were estimated based on the actual cash dividend rate at the time the options were granted and an estimate of future dividends based on past dividend rate changes as well as management&#x2019;s expectations of future dividend rates over the expected holding period of the options. &#160;Expected volatility is based on UTMD&#x2019;s historical volatility over recent periods of time and trends in that volatility, giving weight to more recent periods. &#160;Risk free interest rates were estimated based on actual U.S. Treasury Securities Interest rates as reported by the Federal Reserve Bank for periods of time equivalent to the holding periods estimated for the options on the dates the options were granted. &#160;Expected term of options were estimated based on historical holding periods for similar options previously granted by UTMD to employees and directors. &#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 summarizes information about stock options outstanding at December 31, 2024:&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;table style="border-collapse:collapse;width:399pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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="5" style="width:203pt;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;Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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="3" style="width:116pt;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;Options Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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 style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&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:10pt" valign="middle"&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:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Remaining&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Range of&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Actual&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Contractual&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Number&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Life&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Number&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Prices&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Outstanding&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;(Years)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Price&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Exercisable&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Price&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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 style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:50pt" valign="middle"&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;width:10pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;64.09&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:4pt" valign="middle"&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:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;29,575&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8.49&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;63.15&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,975&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;74.64&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;77.07&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;48,310&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.39&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;34,210&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.41&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:4pt" valign="middle"&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:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,100&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&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:#D3F0FE;width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7.78&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,050&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;97,985&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7.31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;73.77&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49,235&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;75.86&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;table style="border-collapse:collapse;width:418pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:226pt" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:226pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Intrinsic Value of Stock Options Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&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:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$77 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$31 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$141 &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:226pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Intrinsic Value of Stock Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&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:48pt" valign="middle"&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:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;814&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,812&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized
      contextRef="E24"
      decimals="-3"
      id="ixv-12116"
      unitRef="Shares">275000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E24"
      decimals="-3"
      id="ixv-12117"
      unitRef="Shares">98000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="Y24" id="ixv-8126">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:256.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:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Shares&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 colspan="3" style="width:166.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Price Range&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;(000&#x2019;s)&lt;/span&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"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:166.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Per Share&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;25&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;64.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;64.09&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;98&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:74.45pt" 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:61pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;52&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:74.45pt" 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:61pt"&gt;58.50&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;19&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;77.07&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;77.07&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.4&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:74.45pt" 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:61pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;84&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;50&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:74.45pt" 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:61pt"&gt;49.18&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.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:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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: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:74.45pt" 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:12.15pt" 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:80.3pt" 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&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Granted&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;21&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:74.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:61pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:7pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:63pt"&gt;82.60&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expired or canceled&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total outstanding at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;67&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:256.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total exercisable at December 31&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;40&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:74.45pt" 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:61pt"&gt;33.30&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:12.15pt" 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:80.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:63pt"&gt;77.05&lt;/kbd&gt;&#160;&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;
</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y24"
      decimals="-3"
      id="ixv-12118"
      unitRef="Shares">25000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Minimum"
      decimals="INF"
      id="ixv-12119"
      unitRef="UsdPerShare">64.09</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Maximum"
      decimals="INF"
      id="ixv-12120"
      unitRef="UsdPerShare">64.09</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y24"
      decimals="-3"
      id="ixv-12121"
      unitRef="Shares">3000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Minimum"
      decimals="INF"
      id="ixv-12122"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Maximum"
      decimals="INF"
      id="ixv-12123"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="Y24"
      decimals="-3"
      id="ixv-12124"
      unitRef="Shares">8000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Minimum"
      decimals="INF"
      id="ixv-12125"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y24_Range-Maximum"
      decimals="INF"
      id="ixv-12126"
      unitRef="UsdPerShare">58.5</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E24"
      decimals="-3"
      id="ixv-12127"
      unitRef="Shares">98000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E24_Range-Minimum"
      decimals="INF"
      id="ixv-12128"
      unitRef="UsdPerShare">58.5</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E24_Range-Maximum"
      decimals="INF"
      id="ixv-12129"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E24"
      decimals="-3"
      id="ixv-12130"
      unitRef="Shares">52000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E24_Range-Minimum"
      decimals="INF"
      id="ixv-12131"
      unitRef="UsdPerShare">58.5</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E24_Range-Maximum"
      decimals="INF"
      id="ixv-12132"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y23"
      decimals="-3"
      id="ixv-12133"
      unitRef="Shares">19000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Minimum"
      decimals="INF"
      id="ixv-12134"
      unitRef="UsdPerShare">77.07</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Maximum"
      decimals="INF"
      id="ixv-12135"
      unitRef="UsdPerShare">77.07</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y23"
      decimals="-2"
      id="ixv-12136"
      unitRef="Shares">400</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Minimum"
      decimals="INF"
      id="ixv-12137"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Maximum"
      decimals="INF"
      id="ixv-12138"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="Y23"
      decimals="-3"
      id="ixv-12139"
      unitRef="Shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Minimum"
      decimals="INF"
      id="ixv-12140"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y23_Range-Maximum"
      decimals="INF"
      id="ixv-12141"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E23"
      decimals="-3"
      id="ixv-12142"
      unitRef="Shares">84000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E23_Range-Minimum"
      decimals="INF"
      id="ixv-12143"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E23_Range-Maximum"
      decimals="INF"
      id="ixv-12144"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E23"
      decimals="-3"
      id="ixv-12145"
      unitRef="Shares">50000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E23_Range-Minimum"
      decimals="INF"
      id="ixv-12146"
      unitRef="UsdPerShare">49.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E23_Range-Maximum"
      decimals="INF"
      id="ixv-12147"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod
      contextRef="Y22"
      decimals="-3"
      id="ixv-12148"
      unitRef="Shares">21000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Minimum"
      decimals="INF"
      id="ixv-12149"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Maximum"
      decimals="INF"
      id="ixv-12150"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod
      contextRef="Y22"
      decimals="-3"
      id="ixv-12151"
      unitRef="Shares">2000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Minimum"
      decimals="INF"
      id="ixv-12152"
      unitRef="UsdPerShare">33.3</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Maximum"
      decimals="INF"
      id="ixv-12153"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised
      contextRef="Y22"
      decimals="-3"
      id="ixv-12154"
      unitRef="Shares">4000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Minimum"
      decimals="INF"
      id="ixv-12155"
      unitRef="UsdPerShare">33.3</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="Y22_Range-Maximum"
      decimals="INF"
      id="ixv-12156"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="E22"
      decimals="-3"
      id="ixv-12157"
      unitRef="Shares">67000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E22_Range-Minimum"
      decimals="INF"
      id="ixv-12158"
      unitRef="UsdPerShare">33.3</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="E22_Range-Maximum"
      decimals="INF"
      id="ixv-12159"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="E22"
      decimals="-3"
      id="ixv-12160"
      unitRef="Shares">40000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E22_Range-Minimum"
      decimals="INF"
      id="ixv-12161"
      unitRef="UsdPerShare">33.3</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="E22_Range-Maximum"
      decimals="INF"
      id="ixv-12162"
      unitRef="UsdPerShare">77.05</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y24" decimals="-3" id="ixv-12163" unitRef="USD">20000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y23" decimals="-3" id="ixv-12164" unitRef="USD">12000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions contextRef="Y22" decimals="-3" id="ixv-12165" unitRef="USD">6000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y24" decimals="-3" id="ixv-12166" unitRef="USD">255000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y23" decimals="-3" id="ixv-12167" unitRef="USD">225000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="Y22" decimals="-3" id="ixv-12168" unitRef="USD">183000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="Y24" id="ixv-8465">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse"&gt;&lt;tr&gt;&lt;td style="width:247.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:18pt" 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:216.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Years ended December 31,&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.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:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&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;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected dividend amount per quarter&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&#160;0.3150&#160;&#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;text-align:right"&gt;$&#160;0.3090&#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&#160;0.3050&#160;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected stock price volatility&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;31.21%&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;text-align:right"&gt;&#160;31.67%&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;29.87%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Risk-free interest rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;4.23%&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;text-align:right"&gt;&#160;4.75%&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;4.09%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Expected life of options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18pt" 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:76.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.8 years&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;text-align:right"&gt;5.6 years&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:72.9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5.7 years&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="Y24"
      decimals="INF"
      id="ixv-12169"
      unitRef="USD">0.315</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="Y23"
      decimals="INF"
      id="ixv-12170"
      unitRef="USD">0.309</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments
      contextRef="Y22"
      decimals="INF"
      id="ixv-12171"
      unitRef="USD">0.305</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendPayments>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Y24"
      decimals="INF"
      id="ixv-12172"
      unitRef="Pure">0.3121</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Y23"
      decimals="INF"
      id="ixv-12173"
      unitRef="Pure">0.3167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="Y22"
      decimals="INF"
      id="ixv-12174"
      unitRef="Pure">0.2987</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Y24"
      decimals="INF"
      id="ixv-12175"
      unitRef="Pure">0.0423</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Y23"
      decimals="INF"
      id="ixv-12176"
      unitRef="Pure">0.0475</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="Y22"
      decimals="INF"
      id="ixv-12177"
      unitRef="Pure">0.0409</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y24" id="ixv-12178">P5Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y23" id="ixv-12179">P5Y7M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="Y22" id="ixv-12180">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Y24"
      decimals="INF"
      id="ixv-12182"
      unitRef="UsdPerShare">19.77</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Y23"
      decimals="INF"
      id="ixv-12183"
      unitRef="UsdPerShare">25.09</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="Y22"
      decimals="INF"
      id="ixv-12184"
      unitRef="UsdPerShare">25.34</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="E24" decimals="-3" id="ixv-12185" unitRef="USD">898000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths contextRef="E24" decimals="-3" id="ixv-12186" unitRef="USD">329000</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonths>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition contextRef="Y24" id="ixv-12187">P12M</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextTwelveMonthsPeriodForRecognition>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears
      contextRef="E24"
      decimals="INF"
      id="ixv-12188"
      unitRef="USD">570</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYears>
    <fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition contextRef="Y24" id="ixv-12189">P4Y</fil:EmployeeServiceShareBasedCompensationNonvestedAwardsCompensationCostNotYetRecognizedToBeRecognizedOverTheNextFourYearsPeriodForRecognition>
    <us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock contextRef="Y24" id="ixv-8559">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:399pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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="5" style="width:203pt;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;Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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="3" style="width:116pt;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;Options Exercisable&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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 style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&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:10pt" valign="middle"&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:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&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:6pt" valign="middle"&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:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&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:4pt" valign="middle"&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" valign="middle"&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:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Remaining&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Weighted&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Range of&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Actual&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Contractual&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&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:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Average&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Number&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Life&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Number&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;Exercise&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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="3" style="width:60pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Prices&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" 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 style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Outstanding&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;(Years)&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Price&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" 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 style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Exercisable&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" 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 style="width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Price&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" 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 style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:50pt" valign="middle"&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;width:10pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;64.09&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:4pt" valign="middle"&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:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;29,575&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8.49&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;63.15&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,975&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;74.64&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;77.07&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;48,310&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.39&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;34,210&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;76.41&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:4pt" valign="middle"&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:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;20,100&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&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:#D3F0FE;width:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7.78&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:6pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#339966;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,050&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:10pt" valign="middle"&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:#D3F0FE;width:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:10pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;58.50&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:26pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;82.60&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:4pt" valign="middle"&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:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;97,985&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:79pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;7.31&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;73.77&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:6pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;49,235&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:10pt" valign="middle"&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:50pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;75.86&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;table style="border-collapse:collapse;width:418pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:226pt" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:226pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Intrinsic Value of Stock Options Exercised&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&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:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$77 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$31 &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$141 &lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:226pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Intrinsic Value of Stock Options Outstanding&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&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:48pt" valign="middle"&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:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;814&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:48pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,812&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTextBlock>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y24_StScenario-Range1"
      decimals="INF"
      id="ixv-12190"
      unitRef="UsdPerShare">58.5</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y24_StScenario-Range1"
      decimals="INF"
      id="ixv-12191"
      unitRef="UsdPerShare">64.09</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E24_StScenario-Range1"
      decimals="INF"
      id="ixv-12192"
      unitRef="Shares">29575</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E24_StScenario-Range1"
      decimals="INF"
      id="ixv-12193"
      unitRef="Pure">8.49</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E24_StScenario-Range1"
      decimals="INF"
      id="ixv-12194"
      unitRef="UsdPerShare">63.15</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E24_StScenario-Range1"
      decimals="INF"
      id="ixv-12195"
      unitRef="Shares">4975</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E24_StScenario-Range1"
      decimals="INF"
      id="ixv-12196"
      unitRef="UsdPerShare">58.5</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y24_StScenario-Range2"
      decimals="INF"
      id="ixv-12197"
      unitRef="UsdPerShare">74.64</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y24_StScenario-Range2"
      decimals="INF"
      id="ixv-12198"
      unitRef="UsdPerShare">77.07</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E24_StScenario-Range2"
      decimals="INF"
      id="ixv-12199"
      unitRef="Shares">48310</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E24_StScenario-Range2"
      decimals="INF"
      id="ixv-12200"
      unitRef="Pure">6.39</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E24_StScenario-Range2"
      decimals="INF"
      id="ixv-12201"
      unitRef="UsdPerShare">76.6</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E24_StScenario-Range2"
      decimals="INF"
      id="ixv-12202"
      unitRef="Shares">34210</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E24_StScenario-Range2"
      decimals="INF"
      id="ixv-12203"
      unitRef="UsdPerShare">76.41</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y24_StScenario-Range3"
      decimals="INF"
      id="ixv-12204"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y24_StScenario-Range3"
      decimals="INF"
      id="ixv-12205"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E24_StScenario-Range3"
      decimals="INF"
      id="ixv-12206"
      unitRef="Shares">20100</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E24_StScenario-Range3"
      decimals="INF"
      id="ixv-12207"
      unitRef="Pure">7.78</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E24_StScenario-Range3"
      decimals="INF"
      id="ixv-12208"
      unitRef="UsdPerShare">82.6</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E24_StScenario-Range3"
      decimals="INF"
      id="ixv-12209"
      unitRef="Shares">10050</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E24_StScenario-Range3"
      decimals="INF"
      id="ixv-12210"
      unitRef="UsdPerShare">82.6</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit
      contextRef="Y24_StScenario-Range4"
      decimals="INF"
      id="ixv-12211"
      unitRef="UsdPerShare">58.5</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLowerRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit
      contextRef="Y24_StScenario-Range4"
      decimals="INF"
      id="ixv-12212"
      unitRef="UsdPerShare">82.6</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeUpperRangeLimit>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions
      contextRef="E24_StScenario-Range4"
      decimals="INF"
      id="ixv-12213"
      unitRef="Shares">97985</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfOutstandingOptions>
    <fil:WeightedAverageRemainingContractualLifeYears
      contextRef="E24_StScenario-Range4"
      decimals="INF"
      id="ixv-12214"
      unitRef="Pure">7.31</fil:WeightedAverageRemainingContractualLifeYears>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1
      contextRef="E24_StScenario-Range4"
      decimals="INF"
      id="ixv-12215"
      unitRef="UsdPerShare">73.77</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeOutstandingOptionsWeightedAverageExercisePriceBeginningBalance1>
    <us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions
      contextRef="E24_StScenario-Range4"
      decimals="INF"
      id="ixv-12216"
      unitRef="Shares">49235</us-gaap:ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeNumberOfExercisableOptions>
    <us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1
      contextRef="E24_StScenario-Range4"
      decimals="INF"
      id="ixv-12217"
      unitRef="UsdPerShare">75.86</us-gaap:SharebasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeExercisableOptionsWeightedAverageExercisePrice1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y24" decimals="-3" id="ixv-12218" unitRef="USD">77000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y23" decimals="-3" id="ixv-12219" unitRef="USD">31000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue contextRef="Y22" decimals="-3" id="ixv-12220" unitRef="USD">141000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E24" decimals="-3" id="ixv-12221" unitRef="USD">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E23" decimals="-3" id="ixv-12222" unitRef="USD">814000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="E22" decimals="-3" id="ixv-12223" unitRef="USD">1812000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <fil:GeographicInformationTextBlock contextRef="Y24" id="ixv-8960">&lt;p style="font:10pt Times New Roman;margin:0"&gt;Note 9 &#x2013;&#160;Geographic Information&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 Company had sales in the following geographic areas based on the customer&#x2019;s country of domicile:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:418.3pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:223.2pt" valign="middle"&gt;&lt;/td&gt;&lt;td style="width:18.1pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.1pt" valign="middle"&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:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;23,873&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;30,413&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;34,524&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Europe&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.1pt" valign="middle"&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:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,705&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,918&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;7,214&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;width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.1pt" valign="middle"&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:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,325&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;10,893&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;10,543&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
</fil:GeographicInformationTextBlock>
    <fil:ScheduleOfGeographicInformationTextBlock contextRef="Y24" id="ixv-8964">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:418.3pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:223.2pt" valign="middle"&gt;&lt;/td&gt;&lt;td style="width:18.1pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.1pt" valign="middle"&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:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;23,873&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;30,413&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&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:6pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;34,524&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Europe&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.1pt" valign="middle"&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:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,705&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,918&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;7,214&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;width:223.2pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:18.1pt" valign="middle"&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:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,325&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;10,893&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:59pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;10,543&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
</fil:ScheduleOfGeographicInformationTextBlock>
    <fil:CompanySalesInTheUnitedStates contextRef="Y24" decimals="-3" id="ixv-12224" unitRef="USD">23873000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y23" decimals="-3" id="ixv-12225" unitRef="USD">30413000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInTheUnitedStates contextRef="Y22" decimals="-3" id="ixv-12226" unitRef="USD">34524000</fil:CompanySalesInTheUnitedStates>
    <fil:CompanySalesInEurope contextRef="Y24" decimals="-3" id="ixv-12227" unitRef="USD">8705000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y23" decimals="-3" id="ixv-12228" unitRef="USD">8918000</fil:CompanySalesInEurope>
    <fil:CompanySalesInEurope contextRef="Y22" decimals="-3" id="ixv-12229" unitRef="USD">7214000</fil:CompanySalesInEurope>
    <fil:CompanySalesOther contextRef="Y24" decimals="-3" id="ixv-12230" unitRef="USD">8325000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y23" decimals="-3" id="ixv-12231" unitRef="USD">10893000</fil:CompanySalesOther>
    <fil:CompanySalesOther contextRef="Y22" decimals="-3" id="ixv-12232" unitRef="USD">10543000</fil:CompanySalesOther>
    <fil:GeographicLongLivedAssetsInformationTextBlock contextRef="Y24" id="ixv-12233">Note 10 &#x2013;&#160;Long-lived Assets by Geographic Area &#160; The Company&#x2019;s long-lived assets by geographic area were as follows: &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;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:325pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,124&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,462&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;14,875&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;England&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,445&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;13,838&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;15,184&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;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,827&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,963&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,954&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Australia&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;290&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;336&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;337&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;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;523&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;589&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;593&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:GeographicLongLivedAssetsInformationTextBlock>
    <fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock contextRef="Y24" id="ixv-9032">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:325pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;margin-right:4pt;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;United States&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,124&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,462&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&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:5pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;14,875&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;England&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;11,445&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;13,838&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;15,184&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;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Ireland&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,827&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,963&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;2,954&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Australia&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8pt" valign="middle"&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:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;290&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;336&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;337&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;width:149pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Canada&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:8pt" valign="middle"&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:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;523&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;589&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:40pt"&gt;593&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleOfLongLivedAssetsByGeographicAreaTextBlock>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E24" decimals="-3" id="ixv-12236" unitRef="USD">11124000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E23" decimals="-3" id="ixv-12237" unitRef="USD">11462000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInTheUnitedStates contextRef="E22" decimals="-3" id="ixv-12238" unitRef="USD">14875000</fil:LongLivedAssetsInTheUnitedStates>
    <fil:LongLivedAssetsInEngland contextRef="E24" decimals="-3" id="ixv-12239" unitRef="USD">11445000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E23" decimals="-3" id="ixv-12240" unitRef="USD">13838000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInEngland contextRef="E22" decimals="-3" id="ixv-12241" unitRef="USD">15184000</fil:LongLivedAssetsInEngland>
    <fil:LongLivedAssetsInIreland contextRef="E24" decimals="-3" id="ixv-12242" unitRef="USD">2827000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E23" decimals="-3" id="ixv-12243" unitRef="USD">2963000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInIreland contextRef="E22" decimals="-3" id="ixv-12244" unitRef="USD">2954000</fil:LongLivedAssetsInIreland>
    <fil:LongLivedAssetsInAustralia contextRef="E24" decimals="-3" id="ixv-12245" unitRef="USD">290000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E23" decimals="-3" id="ixv-12246" unitRef="USD">336000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInAustralia contextRef="E22" decimals="-3" id="ixv-12247" unitRef="USD">337000</fil:LongLivedAssetsInAustralia>
    <fil:LongLivedAssetsInCanada contextRef="E24" decimals="-3" id="ixv-12248" unitRef="USD">523000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E23" decimals="-3" id="ixv-12249" unitRef="USD">589000</fil:LongLivedAssetsInCanada>
    <fil:LongLivedAssetsInCanada contextRef="E22" decimals="-3" id="ixv-12250" unitRef="USD">593000</fil:LongLivedAssetsInCanada>
    <fil:RevenuesbyproductcategoryandregionTextBlock contextRef="Y24" id="ixv-9129">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 11 &#x2013;&#160;Revenues by Product Category and Geographic Region&lt;/span&gt;&lt;/p&gt;
&lt;kbd style="margin-left:10.8pt"&gt;&lt;/kbd&gt;&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;Global revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"&gt;&lt;tr&gt;&lt;td style="width:202.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;4,260&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;4,592&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;4,661&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt" 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:37pt"&gt;20,707&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:34pt"&gt;22,300&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" 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:37pt"&gt;21,841&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" 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:37pt"&gt;6,869&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" 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:34pt"&gt;6,863&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" 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:37pt"&gt;7,567&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt;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:37pt"&gt;9,067&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt;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:34pt"&gt;16,469&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt;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:37pt"&gt;18,212&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;40,903&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt;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;font:10pt Times New Roman;margin-left:0pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;50,224&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;52,281&lt;/kbd&gt;&#160;&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;Included in the Global revenues (above) were OUS revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"&gt;&lt;tr&gt;&lt;td style="width:202.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;821&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;1,041&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;676&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt" 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:37pt"&gt;11,390&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:34pt"&gt;11,992&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" 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:37pt"&gt;11,603&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" 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:37pt"&gt;1,523&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" 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:34pt"&gt;1,678&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" 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:37pt"&gt;1,517&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt;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:37pt"&gt;3,724&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt;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:34pt"&gt;7,309&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt;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:37pt"&gt;6,514&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;17,458&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt;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;font:10pt Times New Roman;margin-left:0pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;22,020&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;20,310&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:RevenuesbyproductcategoryandregionTextBlock>
    <fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock contextRef="Y24" id="ixv-9133">&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;Global revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"&gt;&lt;tr&gt;&lt;td style="width:202.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;4,260&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;4,592&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;4,661&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt" 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:37pt"&gt;20,707&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:34pt"&gt;22,300&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" 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:37pt"&gt;21,841&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" 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:37pt"&gt;6,869&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" 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:34pt"&gt;6,863&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" 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:37pt"&gt;7,567&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt;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:37pt"&gt;9,067&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt;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:34pt"&gt;16,469&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt;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:37pt"&gt;18,212&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;40,903&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt;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;font:10pt Times New Roman;margin-left:0pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;50,224&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;52,281&lt;/kbd&gt;&#160;&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;
</fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-12251"
      unitRef="USD">4260000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-12252"
      unitRef="USD">4592000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Global"
      decimals="-3"
      id="ixv-12253"
      unitRef="USD">4661000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-12254"
      unitRef="USD">20707000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-12255"
      unitRef="USD">22300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Global"
      decimals="-3"
      id="ixv-12256"
      unitRef="USD">21841000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-12257"
      unitRef="USD">6869000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-12258"
      unitRef="USD">6863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Global"
      decimals="-3"
      id="ixv-12259"
      unitRef="USD">7567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-12260"
      unitRef="USD">9067000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-12261"
      unitRef="USD">16469000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Global"
      decimals="-3"
      id="ixv-12262"
      unitRef="USD">18212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_StGeo-Global"
      decimals="-3"
      id="ixv-12263"
      unitRef="USD">40903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-Global"
      decimals="-3"
      id="ixv-12264"
      unitRef="USD">50224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-Global"
      decimals="-3"
      id="ixv-12265"
      unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ScheduleofousrevenuesbyproductcategoryTextBlock contextRef="Y24" id="ixv-9214">&lt;p style="font:10pt Times New Roman;margin:0"&gt;Included in the Global revenues (above) were OUS revenues by product category:&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:346.5pt;margin-left:23.4pt"&gt;&lt;tr&gt;&lt;td style="width:202.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;821&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" valign="top"&gt;&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;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;1,041&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;676&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt" 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:37pt"&gt;11,390&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt" 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:34pt"&gt;11,992&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt" 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:37pt"&gt;11,603&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt" 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:37pt"&gt;1,523&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt" 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:34pt"&gt;1,678&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt" 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:37pt"&gt;1,517&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:202.5pt" 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:49.5pt;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:37pt"&gt;3,724&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:45pt;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:34pt"&gt;7,309&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:49.5pt;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:37pt"&gt;6,514&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:202.5pt" 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:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;17,458&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:45pt;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;font:10pt Times New Roman;margin-left:0pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:34pt"&gt;22,020&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:49.5pt;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;font:10pt Times New Roman;margin-left:2pt"&gt;$&lt;/kbd&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:37pt"&gt;20,310&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofousrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-12266"
      unitRef="USD">821000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-12267"
      unitRef="USD">1041000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Obstetrics_StGeo-Ous"
      decimals="-3"
      id="ixv-12268"
      unitRef="USD">676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-12269"
      unitRef="USD">11390000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-12270"
      unitRef="USD">11992000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-Ous"
      decimals="-3"
      id="ixv-12271"
      unitRef="USD">11603000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-12272"
      unitRef="USD">1523000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-12273"
      unitRef="USD">1678000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-Neonatal_StGeo-Ous"
      decimals="-3"
      id="ixv-12274"
      unitRef="USD">1517000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-12275"
      unitRef="USD">3724000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-12276"
      unitRef="USD">7309000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-Ous"
      decimals="-3"
      id="ixv-12277"
      unitRef="USD">6514000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_StGeo-Ous"
      decimals="-3"
      id="ixv-12278"
      unitRef="USD">17458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StGeo-Ous"
      decimals="-3"
      id="ixv-12279"
      unitRef="USD">22020000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StGeo-Ous"
      decimals="-3"
      id="ixv-12280"
      unitRef="USD">20310000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:ProductSaleAndPurchaseCommitmentsTextBlock contextRef="Y24" id="ixv-9295">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 12 - Product Sale and Purchase Commitments&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company has had license agreements for the rights to develop and market certain products or technologies owned by unrelated parties. &#160;The confidential terms of such agreements are unique and varied, depending on many factors relating to the value and stage of development of the technology licensed. &#160;Royalties on future product sales are a normal component of such agreements and are included in the Company&#x2019;s cost of goods sold on an ongoing basis.&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;In 2024, 2023 and 2022, UTMD received royalties of $15, $20 and $20, respectively, for the use of intellectual property.&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 had $3,747 in operating lease and purchase commitments as of December 31, 2024&lt;b&gt;. &#160;&lt;/b&gt;&lt;/p&gt;
</fil:ProductSaleAndPurchaseCommitmentsTextBlock>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y24" decimals="-3" id="ixv-12281" unitRef="USD">15000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y23" decimals="-3" id="ixv-12282" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:RoyaltyIncomeNonoperating contextRef="Y22" decimals="-3" id="ixv-12283" unitRef="USD">20000</us-gaap:RoyaltyIncomeNonoperating>
    <us-gaap:ContractualObligation contextRef="E24" decimals="-3" id="ixv-12284" unitRef="USD">3747000</us-gaap:ContractualObligation>
    <us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock contextRef="Y24" id="ixv-9305">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 13 &#x2013;&#160;Employee Benefit Plans&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;The Company sponsors a contributory 401(k) savings plan for U.S. employees, and contributory retirement plans for Ireland, UK, Australia and Canada employees. &#160;The Company&#x2019;s matching contribution is determined annually by the board of directors. &#160;Company contributions were approximately $209, $184 and $159 for the years ended December 31, 2024, 2023 and 2022, respectively.&lt;/p&gt;
</us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y24" decimals="-3" id="ixv-12285" unitRef="USD">209000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y23" decimals="-3" id="ixv-12286" unitRef="USD">184000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount contextRef="Y22" decimals="-3" id="ixv-12287" unitRef="USD">159000</us-gaap:DefinedContributionPlanEmployerDiscretionaryContributionAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="Y24" id="ixv-9317">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 14 &#x2013;&#160;Leases&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD has operating leases for a portion of its parking lot at its Midvale facility and an automobile at its Ireland facility. &#160;The remaining lease term on the parking lot is 7 years and on the automobile is 30 months. &#160;There are no options to extend or terminate the leases. &#160;The parking lot lease contains a provision that requires an adjustment every five years to the lease payment based on the change in the Consumer Price Index. &#160;This adjustment occurred in 2021 requiring an increase of $87 to the value of the right-of-use asset and lease liabilities. UTMD has no other leases yet to commence. &#160;As neither lease contains implicit rates, UTMD&#x2019;s incremental borrowing rate, based on information available at adoption date, was used to determine the present value of the leases.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;Operating lease costs for the years ended December 31, 2024, 2023, and 2022 were $66, $65, and $64, respectively.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;Supplemental balance sheet information related to operating leases was as follows (&lt;i&gt;in thousands&lt;/i&gt;):&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;As of December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="background-color:#D3F0FE;width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease right-of-use assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease liabilities, current (included in Accrued Expenses)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;56&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="background-color:#D3F0FE;width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease liabilities, long-term&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;282&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Total operating lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:481.5pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Maturities of operating lease liabilities at December 31, 2024 were as follows (&lt;i&gt;in thousands&lt;/i&gt;):&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;As of December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2025 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;55&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2026 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;58&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2027 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;55&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2028 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;44&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2029 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;46&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Thereafter (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt;border-bottom:1pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;80&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Total lease payments&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;364&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Less: imputed interest&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(26)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Total lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;The following table provides information on the lease terms and discount rates:&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:5.65pt"&gt;&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:239.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average remaining lease term (in years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:81pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.1&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:239.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average discount rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:81pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.3%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <fil:LesseeOperatingLeaseForParkingLotTermOfContract contextRef="D241231" id="ixv-12288">P7Y</fil:LesseeOperatingLeaseForParkingLotTermOfContract>
    <fil:LesseeOperatingLeaseForAutomobileTermOfContract contextRef="D241231" id="ixv-12289">P30M</fil:LesseeOperatingLeaseForAutomobileTermOfContract>
    <fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI contextRef="Y23" decimals="-3" id="ixv-12290" unitRef="USD">87000</fil:LesseeOperatingLeaseForParkingLotAdjustmentToLeasePaymentsRequiredEveryFiveYearsBasedOnChangeInCPI>
    <us-gaap:OperatingLeaseCost contextRef="Y24" decimals="-3" id="ixv-12291" unitRef="USD">66000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y23" decimals="-3" id="ixv-12292" unitRef="USD">65000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="Y22" decimals="-3" id="ixv-12293" unitRef="USD">64000</us-gaap:OperatingLeaseCost>
    <fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock contextRef="Y24" id="ixv-9324">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:100%"&gt;&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;As of December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="background-color:#D3F0FE;width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease right-of-use assets&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease liabilities, current (included in Accrued Expenses)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;56&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="background-color:#D3F0FE;width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Operating lease liabilities, long-term&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;282&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:15pt"&gt;&lt;td style="width:74.62%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Total operating lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:25.38%" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ReconciliationOfOperatingLeaseLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="E24" decimals="-3" id="ixv-12294" unitRef="USD">338000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="E24" decimals="-3" id="ixv-12295" unitRef="USD">56000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="E24" decimals="-3" id="ixv-12296" unitRef="USD">282000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="E24" decimals="-3" id="ixv-12297" unitRef="USD">338000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="Y24" id="ixv-9354">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:481.5pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Maturities of operating lease liabilities at December 31, 2024 were as follows (&lt;i&gt;in thousands&lt;/i&gt;):&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;As of December 31, 2024&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2025 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;55&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2026 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;58&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2027 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;55&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2028 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;44&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;2029 (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;46&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;Thereafter (less imputed interest)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt;border-bottom:1pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;80&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Total lease payments&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;364&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Less: imputed interest&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:121.5pt;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&#160;(26)&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:360pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt; &#160;&#160;&#160;&#160;Total lease liabilities&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:121.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;$&#160;338&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;The following table provides information on the lease terms and discount rates:&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:5.65pt"&gt;&lt;tr&gt;&lt;td style="background-color:#D3F0FE;width:239.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average remaining lease term (in years)&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:81pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6.1&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:239.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted-average discount rate&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:81pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.3%&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="E24" decimals="-3" id="ixv-12298" unitRef="USD">55000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="E24" decimals="-3" id="ixv-12299" unitRef="USD">58000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="E24" decimals="-3" id="ixv-12300" unitRef="USD">55000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="E24" decimals="-3" id="ixv-12301" unitRef="USD">44000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive contextRef="E24" decimals="-3" id="ixv-12302" unitRef="USD">46000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive contextRef="E24" decimals="-3" id="ixv-12303" unitRef="USD">80000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="E24" decimals="-3" id="ixv-12304" unitRef="USD">364000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="E24" decimals="-3" id="ixv-12305" unitRef="USD">26000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="E24" decimals="-3" id="ixv-12306" unitRef="USD">338000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="E24" id="ixv-12307">P6Y1M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="E24"
      decimals="INF"
      id="ixv-12308"
      unitRef="Pure">0.043</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="Y24" id="ixv-9427">&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 15 - Distribution Agreement Purchase&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:0pt"&gt;UTMD completed the purchase of exclusive U.S. distribution rights for the Filshie Clip System from CooperSurgical, Inc. (CSI) on February 1, 2019, after which CSI no longer had the right to sell the Filshie Clip System and UTMD distributed the Filshie Clip System directly to clinical facilities in the U.S. The $21,000 purchase price represented an identifiable intangible asset which was straight-line amortized and recognized as part of G&amp;amp;A expenses over the 4.75 year remaining life of the prior CSI distribution agreement with Femcare. &#160;The agreement became fully amortized in 4&lt;span style="vertical-align:super"&gt;th&lt;/span&gt; quarter 2023. &#160;As part of the agreement, UTMD also purchased the remaining CSI inventory for approximately $2,100.&lt;/p&gt;
</us-gaap:IntangibleAssetsDisclosureTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="Y24_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="-3"
      id="ixv-12311"
      unitRef="USD">21000000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem
      contextRef="Y24_DistributionRightsAcquisition-CoopersurgicalInc"
      decimals="INF"
      id="ixv-12312"
      unitRef="Pure">4.75</fil:RemainingYearsOfExclusiveUSDistributionRightsForFemcaresFilshieClipSystem>
    <us-gaap:EarningsPerShareTextBlock contextRef="Y24" id="ixv-9440">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 16 - Earnings Per Share&lt;/span&gt;&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;Basic earnings per share is calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during the period. &#160;Diluted earnings per share is calculated by assuming the exercise of stock options at the closing price of stock at the end of 2024.&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;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&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:center"&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;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&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:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator &lt;/b&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:76.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: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;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:63.9pt" 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;width:247.5pt" 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:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,874&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;16,635&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,473&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.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:76.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: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;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:63.9pt" 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;width:247.5pt" 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="background-color:#D3F0FE;width:76.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: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;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:63.9pt" 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="width:247.5pt" 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="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,503&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;3,629&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" 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="background-color:#D3F0FE;width:76.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;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-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8&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:63.9pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" 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="width:76.5pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,503&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:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&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:63.9pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.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:76.5pt" 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="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;&#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;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63.9pt" 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:7.2pt"&gt;&lt;td style="width:247.5pt" 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="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.96&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;4.58&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.53&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" 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="background-color:#D3F0FE;width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.96&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;4.57&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.52&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="Y24" id="ixv-9446">&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;width:100%"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2024&lt;/span&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:center"&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;&lt;span style="border-bottom:1px solid #000000"&gt;2023&lt;/span&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:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;2022&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator &lt;/b&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:76.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: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;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:63.9pt" 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;width:247.5pt" 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:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;13,874&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;16,635&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;16,473&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.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:76.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: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;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:63.9pt" 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;width:247.5pt" 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="background-color:#D3F0FE;width:76.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: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;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:63.9pt" 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="width:247.5pt" 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="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,503&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;3,629&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" 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="background-color:#D3F0FE;width:76.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;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-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8&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:63.9pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:247.5pt" 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="width:76.5pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,503&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:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,637&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:63.9pt;border-top:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,643&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.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:76.5pt" 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="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;&#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;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63.9pt" 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:7.2pt"&gt;&lt;td style="width:247.5pt" 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="width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.96&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;4.58&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.53&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE;width:247.5pt" 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="background-color:#D3F0FE;width:76.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3.96&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;4.57&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:63.9pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4.52&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss contextRef="Y24" decimals="-3" id="ixv-12313" unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y23" decimals="-3" id="ixv-12314" unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss contextRef="Y22" decimals="-3" id="ixv-12315" unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y24"
      decimals="-3"
      id="ixv-12316"
      unitRef="Shares">3503000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y23"
      decimals="-3"
      id="ixv-12317"
      unitRef="Shares">3629000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y22"
      decimals="-3"
      id="ixv-12318"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y24"
      decimals="-3"
      id="ixv-12319"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y23"
      decimals="-3"
      id="ixv-12320"
      unitRef="Shares">8000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y22"
      decimals="-3"
      id="ixv-12321"
      unitRef="Shares">6000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y24"
      decimals="-3"
      id="ixv-12322"
      unitRef="Shares">3503000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y23"
      decimals="-3"
      id="ixv-12323"
      unitRef="Shares">3637000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y22"
      decimals="-3"
      id="ixv-12324"
      unitRef="Shares">3643000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y24"
      decimals="INF"
      id="ixv-12325"
      unitRef="UsdPerShare">3.96</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y23"
      decimals="INF"
      id="ixv-12326"
      unitRef="UsdPerShare">4.58</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y22"
      decimals="INF"
      id="ixv-12327"
      unitRef="UsdPerShare">4.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y24"
      decimals="INF"
      id="ixv-12328"
      unitRef="UsdPerShare">3.96</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y23"
      decimals="INF"
      id="ixv-12329"
      unitRef="UsdPerShare">4.57</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y22"
      decimals="INF"
      id="ixv-12330"
      unitRef="UsdPerShare">4.52</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="Y24" id="ixv-9599">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 17 &#x2013;&#160;Segment Information&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:6pt;margin-bottom:6pt"&gt;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-top:0pt;margin-bottom:6pt"&gt;The following table presents selected financial information with respect to the Company&#x2019;s single operating segment for the years ended December 31, 2024, 2023 and 2022:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:428.05pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td 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="5" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Year Ended December 31,&lt;/b&gt;&lt;/span&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&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:56pt" 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:54pt"&gt;40,903&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;50,224&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;52,281&#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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 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:56pt" 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:54pt"&gt;13,406&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;17,400&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;16,939&#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:56pt;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:54pt"&gt;3,353&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;2,786&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,146&#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:56pt;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:54pt"&gt;24,143&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;30,038&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;32,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 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:56pt" 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:54pt"&gt;59.0%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;59.8%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;61.6%&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;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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" 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" 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" 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" 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 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="width:56pt" 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:54pt"&gt;1,901&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,685&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,507&#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;Research &amp;amp; Development&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" 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:54pt"&gt;813&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;560&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;493&#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;Litigation Fees&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" 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:54pt"&gt;2,139&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,660&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;670&#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;Amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" 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:54pt"&gt;2,030&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;5,661&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;6,386&#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 General &amp;amp; Administrative&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt;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:54pt"&gt;3,666&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,695&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,350&#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&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt;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:54pt"&gt;13,594&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,777&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;19,790&#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 Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" 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:54pt"&gt;33.2%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;33.4%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;37.9%&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;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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" 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" 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" 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" 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Income&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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;/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:56pt" 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:54pt"&gt;3,367&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;3,036&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;661&#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:56pt;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:54pt"&gt;(159)&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;276&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;209&#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;Income before income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt;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:54pt"&gt;16,802&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;20,089&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;20,659&#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:56pt;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:54pt"&gt;2,928&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,454&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;4,186&#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:56pt;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:54pt"&gt;13,874&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,635&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,473&#160;&#160;&lt;/kbd&gt;&#160;&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;See the consolidated financial statements for other financial information regarding the Company&#x2019;s operating segment.&lt;/p&gt;
</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="Y24" id="ixv-9604">&lt;p style="font:10pt Times New Roman;margin-top:0pt;margin-bottom:6pt"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:428.05pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td 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="5" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;Year Ended December 31,&lt;/b&gt;&lt;/span&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2024&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2023&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;&lt;b&gt;2022&lt;/b&gt;&lt;/span&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:56pt" 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:54pt"&gt;40,903&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;50,224&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;52,281&#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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 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:56pt" 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:54pt"&gt;13,406&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;17,400&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;16,939&#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:56pt;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:54pt"&gt;3,353&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;2,786&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,146&#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:56pt;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:54pt"&gt;24,143&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;30,038&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;32,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 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:56pt" 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:54pt"&gt;59.0%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;59.8%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;61.6%&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;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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" 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" 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" 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" 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 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="width:56pt" 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:54pt"&gt;1,901&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,685&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,507&#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;Research &amp;amp; Development&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" 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:54pt"&gt;813&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;560&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;493&#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;Litigation Fees&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" 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:54pt"&gt;2,139&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;1,660&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;670&#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;Amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt" 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:54pt"&gt;2,030&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;5,661&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;6,386&#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 General &amp;amp; Administrative&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt;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:54pt"&gt;3,666&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,695&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,350&#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&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt;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:54pt"&gt;13,594&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,777&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;19,790&#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 Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:56pt" 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:54pt"&gt;33.2%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;33.4%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt" 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:54pt"&gt;37.9%&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;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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" 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" 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" 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" 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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Income&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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 valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&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;/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:56pt" 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:54pt"&gt;3,367&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;3,036&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt" 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:54pt"&gt;661&#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:56pt;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:54pt"&gt;(159)&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;276&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;209&#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;Income before income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:56pt;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:54pt"&gt;16,802&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;20,089&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;20,659&#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:56pt;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:54pt"&gt;2,928&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;3,454&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&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 style="width:56pt;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:54pt"&gt;4,186&#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:56pt;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:54pt"&gt;13,874&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,635&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE" 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:56pt;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:54pt"&gt;16,473&#160;&#160;&lt;/kbd&gt;&#160;&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;
</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12331"
      unitRef="USD">40903000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12332"
      unitRef="USD">50224000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12333"
      unitRef="USD">52281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:StandardCostOfSales
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12334"
      unitRef="USD">13406000</fil:StandardCostOfSales>
    <fil:StandardCostOfSales
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12335"
      unitRef="USD">17400000</fil:StandardCostOfSales>
    <fil:StandardCostOfSales
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12336"
      unitRef="USD">16939000</fil:StandardCostOfSales>
    <fil:OtherCostOfSales
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12337"
      unitRef="USD">3353000</fil:OtherCostOfSales>
    <fil:OtherCostOfSales
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12338"
      unitRef="USD">2786000</fil:OtherCostOfSales>
    <fil:OtherCostOfSales
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12339"
      unitRef="USD">3146000</fil:OtherCostOfSales>
    <us-gaap:GrossProfit
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12340"
      unitRef="USD">24143000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12341"
      unitRef="USD">30038000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12342"
      unitRef="USD">32196000</us-gaap:GrossProfit>
    <fil:GrossProfitMargin
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12343"
      unitRef="Pure">0.59</fil:GrossProfitMargin>
    <fil:GrossProfitMargin
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12344"
      unitRef="Pure">0.598</fil:GrossProfitMargin>
    <fil:GrossProfitMargin
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12345"
      unitRef="Pure">0.616</fil:GrossProfitMargin>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12346"
      unitRef="USD">1901000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12347"
      unitRef="USD">1685000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12348"
      unitRef="USD">1507000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12349"
      unitRef="USD">813000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12350"
      unitRef="USD">560000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12351"
      unitRef="USD">493000</us-gaap:ResearchAndDevelopmentExpense>
    <fil:LitigationExpense
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12352"
      unitRef="USD">2139000</fil:LitigationExpense>
    <fil:LitigationExpense
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12353"
      unitRef="USD">1660000</fil:LitigationExpense>
    <fil:LitigationExpense
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12354"
      unitRef="USD">670000</fil:LitigationExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12355"
      unitRef="USD">2030000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12356"
      unitRef="USD">5661000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12357"
      unitRef="USD">6386000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12358"
      unitRef="USD">3666000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12359"
      unitRef="USD">3695000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12360"
      unitRef="USD">3350000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12361"
      unitRef="USD">13594000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12362"
      unitRef="USD">16777000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12363"
      unitRef="USD">19790000</us-gaap:OperatingIncomeLoss>
    <fil:OperatingIncomeMargin
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12364"
      unitRef="Pure">0.332</fil:OperatingIncomeMargin>
    <fil:OperatingIncomeMargin
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12365"
      unitRef="Pure">0.334</fil:OperatingIncomeMargin>
    <fil:OperatingIncomeMargin
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-12366"
      unitRef="Pure">0.379</fil:OperatingIncomeMargin>
    <us-gaap:OtherInterestAndDividendIncome
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12367"
      unitRef="USD">3367000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12368"
      unitRef="USD">3036000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12369"
      unitRef="USD">661000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12370"
      unitRef="USD">-159000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12371"
      unitRef="USD">276000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12372"
      unitRef="USD">209000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12373"
      unitRef="USD">16802000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12374"
      unitRef="USD">20089000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12375"
      unitRef="USD">20659000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12376"
      unitRef="USD">2928000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12377"
      unitRef="USD">3454000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12378"
      unitRef="USD">4186000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Y24_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12379"
      unitRef="USD">13874000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y23_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12380"
      unitRef="USD">16635000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y22_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-12381"
      unitRef="USD">16473000</us-gaap:ProfitLoss>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="Y24" id="ixv-9969">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 18 &#x2013;&#160;Recent Accounting Pronouncements&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;In November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-07, &lt;i&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/i&gt;, requiring public entities to disclose information about their reportable segments&#x2019; significant expenses and other segment items on an interim and annual basis. &#160;Public entities with a single reportable segment are required to apply the disclosure requirements in ASU 2023-07, as well as all existing segment disclosures and reconciliation requirements in ASC 280 on an interim and annual basis. &#160;The Company adopted ASU 2023-07 during the year ended December 31, 2024. &#160;See Note 17 Segment Information in the accompanying notes to the consolidated financial statements for further detail.&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;In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires public entities, on an annual basis, to provide disclosure of specific categories in the rate reconciliation, as well as disclosure of income taxes paid disaggregated by jurisdiction. &#160;ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting AUS 2023-09.&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;In November 2024, the FASB issued ASU 2024-03, Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, 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;
</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="Y24" id="ixv-9972">&lt;p style="font:10pt Times New Roman;margin:0"&gt;In November 2023, the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) issued Accounting Standards Update (&#x201c;ASU&#x201d;) 2023-07, &lt;i&gt;Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures&lt;/i&gt;, requiring public entities to disclose information about their reportable segments&#x2019; significant expenses and other segment items on an interim and annual basis. &#160;Public entities with a single reportable segment are required to apply the disclosure requirements in ASU 2023-07, as well as all existing segment disclosures and reconciliation requirements in ASC 280 on an interim and annual basis. &#160;The Company adopted ASU 2023-07 during the year ended December 31, 2024. &#160;See Note 17 Segment Information in the accompanying notes to the consolidated financial statements for further detail.&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;In December 2023, the FASB issued ASU 2023-09, Income Taxes (Topic 740): Improvements to Income Tax Disclosures, which requires public entities, on an annual basis, to provide disclosure of specific categories in the rate reconciliation, as well as disclosure of income taxes paid disaggregated by jurisdiction. &#160;ASU 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting AUS 2023-09.&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;In November 2024, the FASB issued ASU 2024-03, Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, 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;
</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:SubsequentEventsTextBlock contextRef="Y24" id="ixv-9980">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;span style="border-bottom:1px solid #000000"&gt;Note 19 &#x2013;&#160;Subsequent Events&lt;/span&gt;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The Company evaluated its December 31, 2024 financial statements for subsequent events through the date the financial statements were issued. &#160;The Company is not aware of any subsequent events which would require recognition or disclosure in the financial statements. &#160;After December 31, 2024 through March 25, 2025, the Company made additional repurchases of 53,340 shares of its stock in the open market for $3,169, at an average price of $59.41 per share.&lt;/p&gt;
</us-gaap:SubsequentEventsTextBlock>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="Y24" id="ixv-12382">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="Y24" id="ixv-12383">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="Y24" id="ixv-12384">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="Y24" id="ixv-12385">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
